elastic/kibana

Saved object import: show validation errors in UI

Open

#166,795 opened on Sep 20, 2023

View on GitHub
 (1 comment) (1 reaction) (0 assignees)TypeScript (8,021 forks)batch import
Feature:Saved Objects ManagementTeam:Coregood first issue

Repository metrics

Stars
 (19,065 stars)
PR merge metrics
 (Avg merge 1d 16h) (999 merged PRs in 30d)

Description

If importing saved objects results in the API returning validation errors these errors should be displayed in the UI so users can take action on them.

For example, importing a dashboard with kibanaSavedObjectMeta.searchSourceJSON as a object instead of a string causes the API to respond with:

{
    "successCount": 0,
    "success": false,
    "warnings": [],
    "errors": [
        {
            "id": "elasticsearch-storage-dashboard",
            "type": "dashboard",
            "meta": {
                "title": "Cluster Ingest Per Day (Technical Preview/Beta)",
                "icon": "dashboardApp"
            },
            "error": {
                "isBoom": true,
                "isServer": false,
                "data": null,
                "output": {
                    "statusCode": 400,
                    "payload": {
                        "message": "[attributes.kibanaSavedObjectMeta.searchSourceJSON]: expected value of type [string] but got [Object]: Bad Request",
                        "statusCode": 400,
                        "error": "Bad Request"
                    },
                    "headers": {}
                },
                "type": "unknown"
            }
        }
    ]
}

But the UI just shows "Error" without any explanation

Contributor guide