grafana/public/app/features/alerting
Sonia Aguilar 9a252c763a
Alerting: Add notification policies preview in alert creation (#68839)
* Add notification policies preview in alert rule form
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* Refactor using new useGetPotentialInstances hook and apply some style changes

* Add notification policy detail modal

* Use backtesting api for simulating  potential alert instances

* Fix logic to travserse all the children from the root route

* Split notification preview by alert manager

* Add instance count to matching policy header and fix some styles

* Move some logic to a new hook useGetAlertManagersSourceNames to make the code more clean

* Fix some tests

* Add initial test for NotificationPreview

* Use button to preview potential instances

* Add link to contact point details

* Add route matching result details

* Show AlertManager image in the routing preview list

* Add tests setup, add single AM preview test

* Handle no matchers and no labels use case

* Update some style in collapse component and fix policy path in modal

* Update modal styles

* Update styles

* Update collapse header styling

* Normalize tree nodes should happen before findMatchingRoutes call

* Fix findMatchingRoutes and findMatchingAlertGroups methods after reabasing

* Move instances matching to the web worker code

* Fix config fetching for vanilla prometheus AMs

* Add tests

* Add tests mocks

* Fix tests after adding web worker

* Display matching labels for each matching alert instance

* Add minor css improvements

* Revert changes added in Collapse component as we don't use it anymore

* Move the route details modal to a separate file

* Move NotificationRoute and preview hook into separate files

* Fix Alertmanager preview tests

* Fix tests

* Move matcher code to a separate file, improve matcher mock

* Add permissions control for contact point edit view link

* Fix from and to for the temporal use of backtesting api

* Fix tests, add lazy loading of the preview component

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>

* Fix preview test

* Add onclick on the header div so it collapse and expands when clicking on it, and update styles to be consistent with the rest of tables

* Adapt the code to the new rule testing endpoint definition

* Fix tests

* small changes after reviewing the final code

* compute entire inherited tree before computing the routes map

* Throw error in case of not having receiver in routesByIdMap and add test for the use case of inheriting receiver from parent to check UI throws no errors

* Add list of labels in the policy route path that produces the policy matchers to match potential instances

* Use color determined by the key, in label tags when hovering matchers in the policy tree

* Remove labels in modal and handle empty string as receiver to inherit from parent as we do with undefined

* Revert "Add list of labels in the policy route path that produces the policy matchers to match potential instances"

This reverts commit ee73ae9cf9.

* fix inheritance for computeInheritedTree

* Fix message shown when preview has not been executed yet

* First round for adressing PR review comments

* Adress the rest of PR review commments

* Update texts and rename id prop in NotificaitonStep to alertUid

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-06-19 13:32:17 +02:00
..
components Alerting: Update legacy alerting warning (#66269) 2023-04-17 11:02:29 +03:00
partials Chore: Migrates remaining Angular modals to React (#33476) 2021-04-28 15:22:28 +02:00
state Chore: fix type errors in tests (#63270) 2023-02-14 16:46:42 +01:00
unified Alerting: Add notification policies preview in alert creation (#68839) 2023-06-19 13:32:17 +02:00
utils Dashboards: Filter out expressions when going to Explore (#64654) 2023-03-13 07:53:19 -05:00
AlertHowToModal.tsx enable img-redundant-alt rule (#55833) 2022-09-27 10:26:32 -04:00
AlertRuleItem.test.tsx Chore: Remove remaining IconName type assertions (#54658) 2022-09-06 09:15:36 +01:00
AlertRuleItem.tsx React18: Update useCallback arg types where needed (#57084) 2022-10-17 14:52:12 +01:00
AlertRuleList.test.tsx AppChrome: Unify logic for chromeless pages that should not have NavBar, CommandPalette, Search etc (#62281) 2023-02-02 09:53:06 +01:00
AlertRuleList.tsx any/type assertion fixes (#57009) 2022-10-17 10:10:10 +01:00
AlertTab.tsx Chore: Remove remaining IconName type assertions (#54658) 2022-09-06 09:15:36 +01:00
AlertTabCtrl.test.ts Chore: fix type errors in tests (#63270) 2023-02-14 16:46:42 +01:00
AlertTabCtrl.ts Build: Replace babel-loader with esbuild-loader (#57837) 2023-01-23 12:15:05 +01:00
AlertTabIndex.tsx Chore: ESlint import order (#44959) 2022-04-22 14:33:13 +01:00
EditNotificationChannelPage.tsx Update a few more pages to use navId instead of navModel from store (#55342) 2022-09-19 13:21:41 +02:00
FeatureTogglePage.tsx TopNav: New page layouts (#51510) 2022-07-06 17:00:56 +02:00
getAlertingValidationMessage.test.ts Chore: fix type errors in tests (#63270) 2023-02-14 16:46:42 +01:00
getAlertingValidationMessage.ts Dashboard: replace datasource name with a reference object (#33817) 2021-10-29 10:57:24 -07:00
NewNotificationChannelPage.tsx TopNav: New page layouts (#51510) 2022-07-06 17:00:56 +02:00
NotificationsListPage.tsx Chore: Upgrade to react 18 (#64428) 2023-04-11 10:51:54 +01:00
routes.tsx Alerting: Reorder new alert and export buttons (#68418) 2023-05-31 10:56:54 -03:00
StateHistory.tsx Chore: ESlint import order (#44959) 2022-04-22 14:33:13 +01:00
TestRuleResult.test.tsx Chore: Upgrade to react 18 (#64428) 2023-04-11 10:51:54 +01:00
TestRuleResult.tsx Alerting: a11y improvements (#63072) 2023-02-10 10:23:40 +01:00