[Dashboards as code] Transform panel type names#254079
Merged
Merged
Conversation
Contributor
Author
|
/ci |
1 similar comment
Contributor
Author
|
/ci |
Contributor
Author
|
/ci |
Contributor
Author
|
/ci |
Contributor
Author
|
/ci |
Contributor
Author
|
/ci |
Contributor
Author
|
@elasticmachine merge upstream |
Contributor
|
merge conflict between base and head |
Contributor
Author
|
/ci |
Contributor
Author
|
/ci |
Contributor
Author
|
@elasticmachine merge upstream |
Contributor
|
merge conflict between base and head |
Contributor
Author
|
/ci |
Contributor
Author
|
/ci |
Contributor
Author
|
@elasticmachine merge upstream |
Contributor
Author
|
Blocked by #252191 |
Contributor
Author
|
/ci |
jbudz
approved these changes
Mar 9, 2026
Contributor
Author
|
@elasticmachine merge upstream |
Contributor
Author
|
@elasticmachine merge upstream |
Contributor
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Module Count
Public APIs missing comments
Async chunks
Page load bundle
History
|
mgiota
added a commit
that referenced
this pull request
Mar 13, 2026
Fixes #257472 Fixes #257473 Fixes #257474 Fixes #257475 Fixes #257476 Fixes #257477 ## Summary In this [PR](#254079) the embeddable[ BWC layer](https://github.com/elastic/kibana/blob/main/src/platform/plugins/shared/embeddable/common/bwc/transform_type.ts#L63) was updated to map legacy embeddable type IDs to the new ids: - `SLO_EMBEDDABLE` to `slo_overview` - `SLO_ALERTS_EMBEDDABLE` to `slo_alerts` - `SLO_ERROR_BUDGET_EMBEDDABLE` to `slo_error_budget` - `SLO_BURN_RATE_EMBEDDABLE` to `slo_burn_rate` The Dashboard API now expects the new IDs. The Scout embeddable tests were using hardcoded legacy IDs, so they failed. ## Fix The tests no longer hardcode embeddable IDs. They now import `SLO_OVERVIEW_EMBEDDABLE_ID`, `SLO_ERROR_BUDGET_ID`, and `SLO_BURN_RATE_EMBEDDABLE_ID` from the SLO plugin constants. This keeps the tests in sync with the embeddable layer and prevents future ID changes from breaking them. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This was referenced Mar 16, 2026
sorenlouv
pushed a commit
that referenced
this pull request
Mar 17, 2026
Closes #253825 Dashboards as code project is creating a public CRUD REST API for dashboards. Embeddable types are part of this API and exposed from `panel.type` key. This PR changes embeddable types to be lower case snake_cased strings. The table below shows current embeddable type value and "as code" embeddable type value. | Current value | "as code" value | | ----------- | ----------- | | search | discover_session | | image | image | | links | links | | optionsListControl | options_list_control | | rangeSliderControl | range_slider_control | | esqlControl | esql_control | | timeSlider | time_slider_control | | DASHBOARD_MARKDOWN | markdown | | LOG_STREAM_EMBEDDABLE | log_stream | | visualization | visualization | | field_stats_table | field_stats_table | | aiopsChangePointChart | aiops_change_point_chart | | aiopsPatternAnalysisEmbeddable | aiops_pattern_analysis | | aiopsLogRateAnalysisEmbeddable | aiops_log_rate_analysis | | alerts_table | alerts_table | | lens | lens | | map | map | | ml_anomaly_swimlane | ml_anomaly_swimlane | | ml_anomaly_charts | ml_anomaly_charts | | ml_single_metric_viewer | ml_single_metric_viewer | | APM_ALERTING_LATENCY_CHART_EMBEDDABLE | apm_alerting_latency_chart | | APM_ALERTING_THROUGHPUT_CHART_EMBEDDABLE | apm_alerting_throughput_chart | | APM_ALERTING_FAILED_TRANSACTIONS_CHART_EMBEDDABLE | apm_alerting_failed_transactions_chart | | SLO_EMBEDDABLE | slo_overview | | SLO_ALERTS_EMBEDDABLE | slo_alerts | | SLO_ERROR_BUDGET_EMBEDDABLE | slo_error_budget | | SLO_BURN_RATE_EMBEDDABLE | slo_burn_rate | | SYNTHETICS_STATS_OVERVIEW_EMBEDDABLE | synthetics_stats_overview | | SYNTHETICS_MONITORS_EMBEDDABLE | synthetics_monitors | You can see these new types in action by inspecting dashboard API requests. Notice how `panel.type` values. <img width="2038" height="737" alt="Screenshot 2026-02-19 at 12 25 21 PM" src="https://github.com/user-attachments/assets/245dec65-c06c-4ddf-ad49-63a9ba0407e9" /> ### Please review all of the following 1) Spelling 2) Ensure you like your "as code" embeddable type value. This value can not be changed once the dashboards as code API goes public 3) Can value be shorted? 4) Are there any places other then dashboard state that stored embeddable type constant value and need to migrate from the old type to the new type? ### Testing instructions * Open existing dashboard with a panel that is your embeddable type * Ensure it opens as expected * Ensure actions such as adding panel use constant and still work as expected --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: Panagiota Mitsopoulou <giota85@gmail.com>
sorenlouv
pushed a commit
that referenced
this pull request
Mar 17, 2026
Fixes #257472 Fixes #257473 Fixes #257474 Fixes #257475 Fixes #257476 Fixes #257477 ## Summary In this [PR](#254079) the embeddable[ BWC layer](https://github.com/elastic/kibana/blob/main/src/platform/plugins/shared/embeddable/common/bwc/transform_type.ts#L63) was updated to map legacy embeddable type IDs to the new ids: - `SLO_EMBEDDABLE` to `slo_overview` - `SLO_ALERTS_EMBEDDABLE` to `slo_alerts` - `SLO_ERROR_BUDGET_EMBEDDABLE` to `slo_error_budget` - `SLO_BURN_RATE_EMBEDDABLE` to `slo_burn_rate` The Dashboard API now expects the new IDs. The Scout embeddable tests were using hardcoded legacy IDs, so they failed. ## Fix The tests no longer hardcode embeddable IDs. They now import `SLO_OVERVIEW_EMBEDDABLE_ID`, `SLO_ERROR_BUDGET_ID`, and `SLO_BURN_RATE_EMBEDDABLE_ID` from the SLO plugin constants. This keeps the tests in sync with the embeddable layer and prevents future ID changes from breaking them. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
jeramysoucy
pushed a commit
to jeramysoucy/kibana
that referenced
this pull request
Mar 26, 2026
Closes elastic#253825 Dashboards as code project is creating a public CRUD REST API for dashboards. Embeddable types are part of this API and exposed from `panel.type` key. This PR changes embeddable types to be lower case snake_cased strings. The table below shows current embeddable type value and "as code" embeddable type value. | Current value | "as code" value | | ----------- | ----------- | | search | discover_session | | image | image | | links | links | | optionsListControl | options_list_control | | rangeSliderControl | range_slider_control | | esqlControl | esql_control | | timeSlider | time_slider_control | | DASHBOARD_MARKDOWN | markdown | | LOG_STREAM_EMBEDDABLE | log_stream | | visualization | visualization | | field_stats_table | field_stats_table | | aiopsChangePointChart | aiops_change_point_chart | | aiopsPatternAnalysisEmbeddable | aiops_pattern_analysis | | aiopsLogRateAnalysisEmbeddable | aiops_log_rate_analysis | | alerts_table | alerts_table | | lens | lens | | map | map | | ml_anomaly_swimlane | ml_anomaly_swimlane | | ml_anomaly_charts | ml_anomaly_charts | | ml_single_metric_viewer | ml_single_metric_viewer | | APM_ALERTING_LATENCY_CHART_EMBEDDABLE | apm_alerting_latency_chart | | APM_ALERTING_THROUGHPUT_CHART_EMBEDDABLE | apm_alerting_throughput_chart | | APM_ALERTING_FAILED_TRANSACTIONS_CHART_EMBEDDABLE | apm_alerting_failed_transactions_chart | | SLO_EMBEDDABLE | slo_overview | | SLO_ALERTS_EMBEDDABLE | slo_alerts | | SLO_ERROR_BUDGET_EMBEDDABLE | slo_error_budget | | SLO_BURN_RATE_EMBEDDABLE | slo_burn_rate | | SYNTHETICS_STATS_OVERVIEW_EMBEDDABLE | synthetics_stats_overview | | SYNTHETICS_MONITORS_EMBEDDABLE | synthetics_monitors | You can see these new types in action by inspecting dashboard API requests. Notice how `panel.type` values. <img width="2038" height="737" alt="Screenshot 2026-02-19 at 12 25 21 PM" src="https://github.com/user-attachments/assets/245dec65-c06c-4ddf-ad49-63a9ba0407e9" /> ### Please review all of the following 1) Spelling 2) Ensure you like your "as code" embeddable type value. This value can not be changed once the dashboards as code API goes public 3) Can value be shorted? 4) Are there any places other then dashboard state that stored embeddable type constant value and need to migrate from the old type to the new type? ### Testing instructions * Open existing dashboard with a panel that is your embeddable type * Ensure it opens as expected * Ensure actions such as adding panel use constant and still work as expected --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: Panagiota Mitsopoulou <giota85@gmail.com>
jeramysoucy
pushed a commit
to jeramysoucy/kibana
that referenced
this pull request
Mar 26, 2026
Fixes elastic#257472 Fixes elastic#257473 Fixes elastic#257474 Fixes elastic#257475 Fixes elastic#257476 Fixes elastic#257477 ## Summary In this [PR](elastic#254079) the embeddable[ BWC layer](https://github.com/elastic/kibana/blob/main/src/platform/plugins/shared/embeddable/common/bwc/transform_type.ts#L63) was updated to map legacy embeddable type IDs to the new ids: - `SLO_EMBEDDABLE` to `slo_overview` - `SLO_ALERTS_EMBEDDABLE` to `slo_alerts` - `SLO_ERROR_BUDGET_EMBEDDABLE` to `slo_error_budget` - `SLO_BURN_RATE_EMBEDDABLE` to `slo_burn_rate` The Dashboard API now expects the new IDs. The Scout embeddable tests were using hardcoded legacy IDs, so they failed. ## Fix The tests no longer hardcode embeddable IDs. They now import `SLO_OVERVIEW_EMBEDDABLE_ID`, `SLO_ERROR_BUDGET_ID`, and `SLO_BURN_RATE_EMBEDDABLE_ID` from the SLO plugin constants. This keeps the tests in sync with the embeddable layer and prevents future ID changes from breaking them. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
AlejandroFrndz
added a commit
that referenced
this pull request
Apr 22, 2026
## Summary Closes #264008 As part of the dashboards as code effort, #254079 introduced a change by which embeddable ids were changed. While most usages were properly updated, a couple of hardcoded string references in the SLO plugin were left unchanged. This is leading to issues where the APM embeddables in the alert details page are failing to be displayed because the code is unable to find the appropiate embeddable factory when searching by it's old id. In order to prevent issues like this in the future, I plan to do a follow up PR providing a proper fix to this issue in a way that allows the SLO plugin to consume the embeddable id constants defined in APM instead of having to relay on redefining the strings values in both plugins, which can lead to inconsistencies as this one. But, given the timing with the 9.4 BC I've decided to go first for this quick-and-easy approach of just changing the strings in the SLO plugin as well. While this is not ideal code-wise it will allow us to have a low-risk fix in time to be backported to 9.4 so we don't ship this view in a broken state.
kibanamachine
added a commit
that referenced
this pull request
Apr 22, 2026
# Backport This will backport the following commits from `main` to `9.4`: - [[SLO] Fix APM embeddable ids (#264750)](#264750) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Alex Fernandez","email":"47327793+AlejandroFrndz@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-04-22T08:15:11Z","message":"[SLO] Fix APM embeddable ids (#264750)\n\n## Summary\n\nCloses #264008\n\nAs part of the dashboards as code effort, #254079 introduced a change by\nwhich embeddable ids were changed. While most usages were properly\nupdated, a couple of hardcoded string references in the SLO plugin were\nleft unchanged. This is leading to issues where the APM embeddables in\nthe alert details page are failing to be displayed because the code is\nunable to find the appropiate embeddable factory when searching by it's\nold id.\n\nIn order to prevent issues like this in the future, I plan to do a\nfollow up PR providing a proper fix to this issue in a way that allows\nthe SLO plugin to consume the embeddable id constants defined in APM\ninstead of having to relay on redefining the strings values in both\nplugins, which can lead to inconsistencies as this one. But, given the\ntiming with the 9.4 BC I've decided to go first for this quick-and-easy\napproach of just changing the strings in the SLO plugin as well. While\nthis is not ideal code-wise it will allow us to have a low-risk fix in\ntime to be backported to 9.4 so we don't ship this view in a broken\nstate.","sha":"1463b9b352d82c8b43b3e3df2792a7c871e3bf19","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:version","v9.4.0","Team:obs-presentation","v9.5.0"],"title":"[SLO] Fix APM embeddable ids","number":264750,"url":"https://github.com/elastic/kibana/pull/264750","mergeCommit":{"message":"[SLO] Fix APM embeddable ids (#264750)\n\n## Summary\n\nCloses #264008\n\nAs part of the dashboards as code effort, #254079 introduced a change by\nwhich embeddable ids were changed. While most usages were properly\nupdated, a couple of hardcoded string references in the SLO plugin were\nleft unchanged. This is leading to issues where the APM embeddables in\nthe alert details page are failing to be displayed because the code is\nunable to find the appropiate embeddable factory when searching by it's\nold id.\n\nIn order to prevent issues like this in the future, I plan to do a\nfollow up PR providing a proper fix to this issue in a way that allows\nthe SLO plugin to consume the embeddable id constants defined in APM\ninstead of having to relay on redefining the strings values in both\nplugins, which can lead to inconsistencies as this one. But, given the\ntiming with the 9.4 BC I've decided to go first for this quick-and-easy\napproach of just changing the strings in the SLO plugin as well. While\nthis is not ideal code-wise it will allow us to have a low-risk fix in\ntime to be backported to 9.4 so we don't ship this view in a broken\nstate.","sha":"1463b9b352d82c8b43b3e3df2792a7c871e3bf19"}},"sourceBranch":"main","suggestedTargetBranches":["9.4"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/264750","number":264750,"mergeCommit":{"message":"[SLO] Fix APM embeddable ids (#264750)\n\n## Summary\n\nCloses #264008\n\nAs part of the dashboards as code effort, #254079 introduced a change by\nwhich embeddable ids were changed. While most usages were properly\nupdated, a couple of hardcoded string references in the SLO plugin were\nleft unchanged. This is leading to issues where the APM embeddables in\nthe alert details page are failing to be displayed because the code is\nunable to find the appropiate embeddable factory when searching by it's\nold id.\n\nIn order to prevent issues like this in the future, I plan to do a\nfollow up PR providing a proper fix to this issue in a way that allows\nthe SLO plugin to consume the embeddable id constants defined in APM\ninstead of having to relay on redefining the strings values in both\nplugins, which can lead to inconsistencies as this one. But, given the\ntiming with the 9.4 BC I've decided to go first for this quick-and-easy\napproach of just changing the strings in the SLO plugin as well. While\nthis is not ideal code-wise it will allow us to have a low-risk fix in\ntime to be backported to 9.4 so we don't ship this view in a broken\nstate.","sha":"1463b9b352d82c8b43b3e3df2792a7c871e3bf19"}}]}] BACKPORT--> Co-authored-by: Alex Fernandez <47327793+AlejandroFrndz@users.noreply.github.com>
SoniaSanzV
pushed a commit
to SoniaSanzV/kibana
that referenced
this pull request
Apr 27, 2026
## Summary Closes elastic#264008 As part of the dashboards as code effort, elastic#254079 introduced a change by which embeddable ids were changed. While most usages were properly updated, a couple of hardcoded string references in the SLO plugin were left unchanged. This is leading to issues where the APM embeddables in the alert details page are failing to be displayed because the code is unable to find the appropiate embeddable factory when searching by it's old id. In order to prevent issues like this in the future, I plan to do a follow up PR providing a proper fix to this issue in a way that allows the SLO plugin to consume the embeddable id constants defined in APM instead of having to relay on redefining the strings values in both plugins, which can lead to inconsistencies as this one. But, given the timing with the 9.4 BC I've decided to go first for this quick-and-easy approach of just changing the strings in the SLO plugin as well. While this is not ideal code-wise it will allow us to have a low-risk fix in time to be backported to 9.4 so we don't ship this view in a broken state.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #253825
Dashboards as code project is creating a public CRUD REST API for dashboards. Embeddable types are part of this API and exposed from
panel.typekey. This PR changes embeddable types to be lower case snake_cased strings. The table below shows current embeddable type value and "as code" embeddable type value.You can see these new types in action by inspecting dashboard API requests. Notice how

panel.typevalues.Please review all of the following
Testing instructions