Commit Graph
100 Commits
Author SHA1 Message Date
Sonia Aguilar 0e7c0d25fe Alerting: Add test for creating an alert rule with simplified routing. (#80610)
* Add test for creating an alert rule with simplified routing

* Fix mocking folders after merging from main (folder uid change)
2024-03-11 08:47:56 +01:00
Sonia Aguilar 7a741a31bd Alerting: Track when switching from simplified routing to policies routing or vice versa (#83108)
Track when switching from simplified routing to policies routing or vice versa
2024-03-11 08:47:22 +01:00
Sonia Aguilar ed3c36bb46 Alerting: Use time_intervals instead of the deprecated mute_time_intervals in a… (#83147)
* Use time_intervals instead of the deprecated mute_time_intervals in alert manager config

* don't send mute_time_intervals in the payload

* Add and update tests

* Fix usecase when having both fields in response from getting alert manager config

* Use mute_timings for grafana data source and both for cloud data source when deleting mute timing

* Use mute_timings for grafana data source and both for cloud data source when saving a new or existing alert rule

* Address first code review

* Address more review comments
2024-02-28 15:21:00 +01:00
Sonia Aguilar 2a1873f038 Alerting: Fix saving evaluation group. (#83188)
fix saving evaluation group
2024-02-22 14:29:57 +01:00
Sonia Aguilar 16dee3cf1c Alerting: Protect possible undefined (#83128)
Protect possible undefined
2024-02-20 21:17:40 +01:00
Sonia Aguilar 5de17432f5 Alerting: Add pagination and improved search for notification policies (#81535) 2024-02-16 17:11:03 +01:00
Sonia Aguilar 7b415cf79e Alerting: Skip fetching receivers status in the alert rule form (#82892) 2024-02-16 15:15:02 +01:00
Sonia Aguilar 8dc1cd6d59 Alerting: Fix reading props from undefined in settings (#82418)
* Fix reading props from undefined in settings

* Make settings optional in GrafanaManagedReceiverConfig type
2024-02-15 00:38:20 +11:00
Sonia Aguilar 92eb2c900e Alerting: Use VirtualizedSelect for ContactPointSelector (#82345)
* Use VirtualizedSelect for ContactPointSelector

* Conditionally use virtualized to keep description when having less than 500 contact points
2024-02-14 12:43:46 +02:00
Sonia Aguilar 730e1d2485 Alerting: Fix folder and rule name in groupBy for simplified routing (#82148)
* Fix folder and rule name in groupBy for simplified routing

* Review suggestions

* Use proper type for MultiValueRemove props

* hoist getting groupBy count

* Use watch instead of getValues

* Bring back validation for required fields
2024-02-12 12:45:29 +01:00
Sonia Aguilar beca6a08b0 Alerting: defaults for simplified routing (#82050)
* Expand route settings by default when alert rule has values in these fields

* Default to manual routing option if FF is enabled and local storage is not set to false

* Add test for getDefautManualRouting function

* Update seting local storage item to false in case of policy routing

* Only save to local storage when creating a new alert rule
2024-02-09 12:16:28 +01:00
Sonia Aguilar 3e93a0991f Alerting: Use new readonly permission endpoints for getting contact points and mute timings (#82132)
* use new read only contact points list endpoint in simplified routing section

* Dont use alertmanager endpoint to get groupby defaults

* Use the new read only endpoint for mute timings in route settings

* review suggestions

* Rename hook

* Use options in params for useContactPointsWithStatus hook

* Refactor useContactPointsWithStatus

* second part of the enhanceContactPointsWithMetadata refactor
2024-02-09 12:13:37 +01:00
Sonia Aguilar f59e76d54b Alerting: Use mute_time_intervals as field name in dto ,for simplified routing (#82045)
Use mute_time_intervals as field name in dto ,for simplified routing
2024-02-07 09:54:31 +01:00
Sonia AguilarandGilles De Mey 8f65e36b06 Alerting: Show warning when cp does not exist and invalidate the form (#81621)
* Show warning when cp does not exist and invalidate the form

* Set error in contact selectedContactPoint form field manually

* use RHF validate and trigger

* Fix defaultvalue not being set in contact point and update the error message text

* Simplify refetchReceivers prop definition in ContactPointSelectorProps

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-02-05 15:14:08 +01:00
Sonia Aguilar cd0f299297 Alerting: Update logic for checking if contact point is being used (#81713)
Don't count autorgenerated policy in receiver level when checking if contact point is used
2024-02-01 17:04:41 +01:00
Sonia Aguilar da1538ba82 Alerting: Update docs after moving action buttons im the alert list, and move t… (#81375)
Update docs after moving action buttons im the alert list, and move the loading spinner
2024-01-29 16:52:34 +01:00
Sonia Aguilar 2e1229b908 Alerting: Fix child provisioned polices not being rendered as provisioned (#81449)
Fix child provisioned polices not being rendered as provisioned
2024-01-29 10:51:00 +01:00
Sonia Aguilar f042ca5b12 Alerting: Move action buttons in the alert list view (#81341)
Move action buttons in the alert list view
2024-01-26 14:56:00 +01:00
Sonia Aguilar 0bcc60f437 Alerting: Swap order between Annotations and Labels step in the alert rule form. (#81060)
* Swap order between Annotations and Labels and notifications step, and update some texts

* Update routing preview label size

* Fix dashboard and panel label when are selected

* Swap order in modify export form
2024-01-25 09:57:10 +01:00
Sonia Aguilar 6218e28ee9 Alerting: Add refresh button to contact points selector in simplified routing section. (#80748)
* Add refresh button for contact points selector in simplified routing section

* Clear timeout when unmounting component

* Fix timeout not being correclty removed when component unmounts

* Update css field name

* Kepp loading spinner if refetching receivers takes more than one second

* Fix test snapshot in useContactPointsWithStatus hook

* refactor how we wait for the request response and the timeout to finish
2024-01-25 09:53:54 +02:00
Sonia Aguilar 51f5e1af39 Alerting: Fix preview getting the correct queries from the form (#80458)
* fix preview getting the correct queries from the form

* Remove setting queries in onChangeQueries handler as it only contains data queries and not expressions

* Keep setValue('queries') but also adding expressions
2024-01-23 09:23:59 +01:00
Sonia Aguilar a07d2120f8 Alerting: Update text, link and aria-label in contact points link for simplified routing. (#80950)
Update link to contact points using TextLink component, and fix its alignment
2024-01-22 12:17:54 +01:00
Sonia Aguilar 171ba185d3 Alerting: Allow selecting only ... in groupBy (#80857)
Allow selecting only ... in groupBy
2024-01-19 11:17:21 +02:00
Sonia Aguilar 3d353a1b5f Alerting: Fix using required groupBy options validation in simplified routing settings (#80780)
Fix using required groupBy options validation in simplified routing settings
2024-01-18 09:00:48 +01:00
Sonia Aguilar ae23cd7cf7 Alerting: Fix validation of selected contact point being required in the alert form when simplified routing (#80565)
Fix validation of selected contact point being required in the alert rule form
2024-01-15 17:45:01 +01:00
Sonia Aguilar 10f0d094ad Alerting: Visualize autogenerated policy tree for simplified routing. (#79509)
* WIP

* WIP: disable some actions when is autogenerated policy

* WIP

* Wip: add checks for group by in auto-generated policy

* Make autogenerated policy readOnly and enable Readonly modal for it

* Use real check for autogenerated root

* Fix test

* Refactor: rename consts

* Add test for policy form being read only

* Add tests

* Update some code comments

* Fix Switch component not being styled as disabled

* Rename isAutogeneratedChunkOpen property to isBranchOpen and fix test

* Revert fix for Switch as it has moved to another separate PR

* Split Policy component in smaller sub components

* use useAlertmanagerAbility form for checking autogenerated tree visibility and fix container for autogenerated policy being rendered when it's not supported

* Update useAbilities test and dont use toAbility for ViewAutogeneratedPolicyTree

* Fix Policy being unmounted every 10 secs and move the collapsed/expanded state to each Policy component

* remove permissions from createDropdownMenuActions method parameters and convert the method to a hook

* Revert using PolicyItem

* Add test for createDropdownMenuActions

* Revert having a read only view form for the policy

* Remove readonly from default policy form

* Only show collapsible when node has children

* Split DefaultPolicyIndicator

* use hidehideCurrentPolicy instead of showCurrentPolicy

* Address some review suggestions
2024-01-15 13:36:26 +01:00
Sonia Aguilar 4ea997b595 Alerting: Fix firing alerts title when showing active in Insights panel (#80414)
* Fix firing alerts title when showing active alerts in Insights panel

* Update red to green and change the component name to Active.tsx instead of Firing.tsx
2024-01-12 16:47:27 +01:00
Sonia Aguilar e1af9bcecc Alerting: Fix group filter (#80358)
* Fix group filter

* Fix Warning: Receivedfor a non-boolean attribute

* remove defaultQueryString.length > 3 from the logic to check if input is invalid
2024-01-11 17:28:12 +02:00
Sonia Aguilar 6f8ddac4eb Alerting: Simplified routing part3 (#79941)
* Update alert rule model in FE following BE design doc

* Remove unnecessary conditional rendering

* Update styles for optional route settings: add indentation

* Update test

* Add validation for  grouBy to include grafana_folder and alertname

* Split conversions between FEdataModel/ DTO, in separate functions

* Update texts following Brenda's suggestions

* Update text
2024-01-09 08:39:43 +01:00
Sonia Aguilar d29f9cfd3c Fix: Switch component not being styled as disabled when is checked (#80012)
* Fix Switch component not being styled as disabled when checked

* Remove unnecessary code
2024-01-04 15:07:22 +01:00
Sonia Aguilar 1654df24da Alerting: Fix reusing last url in tab when reopening a new tab in rule detail a… (#79801)
Fix reusing last url in tab when reopening a new tab in rule detail action buttons
2024-01-02 10:51:34 +01:00
Sonia Aguilar f6f259f0b5 Alerting: Simplified routing part2 (#78671)
* wip

* WIP: Added some actions, timings and grouping

* WIP: remove reducer and use form fields instead

* Show defaults when using override in route settings

* Update alert rule model for simplified routing

* Use defaults in placeholders when overriding timings

* Add validation for contact point

* Add selected contact point details

* Refactor: extract components to separate files and reorg in subfolders

* Fix test

* Update revalidate mode in form

* Extract RuleEditorSectionBody outside NotificationStep component to avoid unmounting any time this one renders

* Remove reValidateMode option in form

* Fix after merging

* Address PR review comments part1

* Address PR review comments part2

* Create routeTimingsFields constant to reuse labels, descriptions and arial labels for the mute timing fields

* Move conditional rendering to the parent in AutomaticRooting and ManualAndAutomaticRouting

* Simplify AlertManagerManualRouting properties
2024-01-02 08:43:31 +01:00
Sonia Aguilar 6fffbe4e1c Alerting: Fix queries and expressions in rule view details. (#79497)
* fix queries and expressions in rule-view details

* Add test
2023-12-14 13:28:10 +01:00
Sonia Aguilar 106903b549 Alerting: Add export mute timings feature to the UI. (#79395)
* Add export for all muteTimings and a single muteTiming

* Add test

* Fix snapshot

* Fix test

* Add mute timing name in file name when exporting single mute timing
2023-12-13 09:53:44 +02:00
Sonia Aguilar 1d53d71ba9 Alerting: Fix max data points placeholder rendering decimals (#78946)
Fix max data points placeholder rendering decimals
2023-12-12 15:45:56 +01:00
Sonia Aguilar e6f2de51a3 Alerting: Fix for data source filter on cloud rules. (#79327)
* fix data source filter not worling for cloud rules

* Add test
2023-12-11 17:14:46 +01:00
Sonia Aguilar fdb4626847 Alerting: Fix UI inheriting mute timings from parent when calculating the polic… (#79295)
* Fix UI inheriting mute timings from parent when calculating the policy tree properties

* Add test for this use case
2023-12-11 15:49:35 +01:00
Sonia AguilarandGilles De Mey 2acf153a26 Alerting: Simplify routing in alert form - part1 (#78040)
* Add routing option tabs

* Use alertingSimplifiedRouting feature toggle

* Move simplified routing tab to a separate component:SimplifiedRouting

* Populate contact point selector with the right values

* Show alert manager icons

* Fix descriptions

* Remove clear button on ContactPointSelector and save updated reducer state in the form

* Load contact points and manual option from rule data in RuleFormValues

* make contact point selector not clearable

* Refactor

* Add link to contact points view

* Move ContactPointSelector to a separate file

* Refactor: move hoook useReceiversMetadataMapByName to a separate file

* Update Need more info texts

* Address some PR review comments

* Use useContactPointsWithStatus hook and wrap each ContacPointSelector with AlertmanagerProvider

* use getAlertManagerDataSourcesByPermission instead of useGetAlertManagersMetadata in NotificationPreview

* Update enum

* Remove css style

* remove console

* update contact point selector

* file cleanup

* adds summary as description

* Update text in manual tab

* Fix preview routing not checking if alert manager can handle grafana alerts

* Fix typo

* remove unused location form field

* fix prettier

* fix test

* Remove unused location form field from AlertRuleNameInput

* Only use internal AlertManager for now

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-11-22 10:15:33 +01:00
Sonia Aguilar 68e37c3925 Alerting: Adds the new alertingSimplifiedRouting feature toggle (#77984)
Adds the new alertingSimplifiedRouting feature toggle for the simplified alert routing
2023-11-10 14:14:39 +01:00
Sonia Aguilar df7b760f37 Alerting: Disable cache in rktq when fetching export data. (#77678)
* Disable cache in rktq when fecthing export rules group

* Fix export rules data being cached

* Disable cache for the rest of export endpoints
2023-11-06 15:15:53 +01:00
Sonia Aguilar f88a0f36ec Alerting: Avoid alert list view component being unmounted every time we fetch new data (#77631)
* Avoid view component being unmounted any time we fetch new data

* Render loading indicator only when loading data for the first time

* Remove unnecessary useRef
2023-11-06 08:35:42 +01:00
Sonia Aguilar 0abfc3b6be Alerting: Update 'Create alert' to 'New alert rule' in the panel and docs (#76950)
* Update 'Create alert' to 'New alert rule' in the panel and docs

* Fix test
2023-11-02 17:33:53 +01:00
Sonia Aguilar 61f056fe15 Alerting: Show receiver in groups view to avoid duplication in the list (#77109) 2023-10-26 13:04:26 +02:00
Sonia Aguilar f1ce73dc2c Alerting: Fix NoRulesSplash being rendered for some seconds, fater creating a rule (#77048)
* Fix NoRulesSplash being rendered for some seconds, fater creating a rule

* Add ruler response/loading,dispatched,error to the logic in hasNoAlertRulesCreatedYet expression
2023-10-25 09:32:28 +02:00
Sonia Aguilar ed54239a9f Alerting: Dont show 1 firing series when no data in Expressions PreviewSummary (#76981)
* Dont show 1 firing series when no data in Expressions PreviewSummary

* Add comment to make clear we need to filter out undefineds for firing count

* Move logic to a new getGroupedByStateAndSeriesCount method and added test to it
2023-10-24 15:50:50 +02:00
Sonia Aguilarandbrendamuir a26318714f Alerting: Update docs with the new create alert menu option in panels (#76825)
* Update docs with the new create alert menu option in panels

* fix errors

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/alerting-rules/create-grafana-managed-rule.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-10-23 10:21:34 +02:00
Sonia AguilarandTorkel Ödegaard 1de65bb384 Alerting: Add Alerting menu in getPanelMenu (#76618)
* Add Alerting menu in getPanelMenu

* Add translations

* Allow alert tab, heart icon in all panel types, and not show warning in DashobardPicker panels

* Fix tests

* Move alerting submenu under 'More...' item

* Move create alert menu item to More... without submenu

* Update translations

* Revert "Allow alert tab, heart icon in all panel types, and not show warning in DashobardPicker panels"

This reverts commit 225da3f60e.

* Revert allowing alert tab and health icon for all panel types

* use onCreateAlert method name in onClick instead of new function

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>

* Move getAlertingMenuAvailability method to a /features/alerting folder and rename it to getCreateAlertInMenuAvailability

* Use onCreate direclty instead of a new method

* Make getCreateAlertInMenuAvailability to return a boolean

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-10-18 15:13:38 +03:00
Sonia AguilarandKonrad Lalik fbbf9b1a8f Alerting: Use new endpoints in the Modify Export (#75796)
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2023-10-12 09:04:59 +02:00
Sonia Aguilar 1456b26075 Alerting: Fix being redirected to list view when clicking Save rule button (#75510)
* Fix: dont allow 'Save rule' button and let 'Save rule and exit' in case of new rule

* Fix tests
2023-10-03 14:55:42 +02:00
Sonia AguilarandKonrad Lalik 169c5262a5 Alerting: Add Modify export feature for Grafana-managed alert rules (#75114)
* Initial POC for modified rule expor

* Add rule and group export options to modified export

* Add feature toggle for modifier export

* Rename GrafanaRuleDesigner to ModifyExportRuleForm to identify it easily as a rule form

* Refactor naming and folder for RuleDesigner => ModifyExport

* Don't render more action drop-down button when no more actions are allowed

* Redirect cancel button to alert list view

* Fix modify export page being reloaded correctly without errors

* Fix test

* Protect modify-export route when toggle-feature is not enabled

* Fix css betterer error

* Address pr review coments

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2023-09-28 16:07:45 +02:00
Sonia Aguilar b38454d81b Alerting: Remove export button in alert form when editing grafana-managed alert (#75153) 2023-09-20 16:19:12 +02:00
Sonia Aguilar 7209e84cd2 Alerting: Fix returnTo expression being empty when no queryParam found (#75086)
Fix returnTo expression being empty when no queryParam found
2023-09-19 14:27:01 +03:00
Sonia AguilarandGilles De Mey 942c4779b9 Alerting: Add export drawer when exporting all Grafana managed alerts (#74846)
* Add export formats drawer when exporting contact points

* Add 'export by format' drawer in policies (root policy)

* Add test for showing export policies button

* Add tests for Policy.tsx

* Add tests for export functionality in receivers

* Add exporter drawer for receivers

* Fix prettier warnings

* Allow HCL only for alert rules exports

* Add tests for Policies

* Fix tests

* Refactor: Update ExportProviders types for limiting the avaliable export formats when using GrafanaExportDrawer

* Delete unused shouldShowExportOption method and tests

* Add exporter drawer when clicking export all Grafana managed alerts

* Fix test

* fix prettier

* lint

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-09-18 10:31:19 +02:00
Sonia Aguilar 5484e0a2d5 Alerting: Add export drawer with yaml and json formats, in policies and contact points view. (#74613)
* Add export formats drawer when exporting contact points

* Add 'export by format' drawer in policies (root policy)

* Add test for showing export policies button

* Add tests for Policy.tsx

* Add tests for export functionality in receivers

* Add exporter drawer for receivers

* Fix prettier warnings

* Allow HCL only for alert rules exports

* Add tests for Policies

* Fix tests

* Refactor: Update ExportProviders types for limiting the avaliable export formats when using GrafanaExportDrawer

* Delete unused shouldShowExportOption method and tests

* Use useAlertmanagerAbility hook to check if canReadSecrets

* Update snapshot for useAbilities test

* Fix prettier

* Convert decrypt to boolean

* Fix prettier

* Rename CanReadSecrets action to DecryptSecrets

* Update the string value for DecryptSecrets

* Fix snapshor for useAbilities after renaming the can-read-secrets
2023-09-18 08:36:50 +02:00
Sonia Aguilar cad39b7397 Alerting: Revert "Alerting: Show annotations markers in TimeSeries panel when u… (#74576)
Revert "Alerting: Show annotations markers in TimeSeries panel when using Loki as … (#72084)"

This reverts commit de6ef53c8a.
2023-09-08 10:57:31 +02:00
Sonia Aguilar d8d2f890b5 Alerting: Change export label (#74277)
Change export label
2023-09-01 16:28:23 +02:00
Sonia Aguilar 2a2689a7c2 Alerting: Refactor AlertRuleForm and fix annotations step description for cloud rules (#74168)
Refactor AlertRuleForm and fix annotations step description for cloud rules
2023-08-31 16:51:06 +02:00
Sonia Aguilar de6ef53c8a Alerting: Show annotations markers in TimeSeries panel when using Loki as … (#72084)
* WIP: Show annotations markers in TimeSeries panel when using Loki as alert state history

* WIP changes

* Fix converting log records to data frame for panel

* Move fetching alert state history with Loki to the PannelQueryRunner to keep the panel flow

* use dasboardUID and panelUID for requesting Loki ash

* fix wrong prettier change

* Only request loki ash when having alertstate

* Use panelID as param in history query

* Refactor: move getRuleHistoryRecordsForPanel and remove filtering code as is not used

* Adress PR review comments

* Add try catch for ash request

* Add tests for updatePanelDataWithASHFromLoki method

* Address PR review suggestions

* review suggestion

* Add test for logRecordsToDataFrameForPanel method

* pr Review nit suggestion

* Dont show toast messages from Loki request
2023-08-01 12:00:39 +02:00
Sonia AguilarandVirginia Cepeda 19b239fba0 Alerting: Fix inconsistencies in alert rule form depending on alert type (#72287)
* Fix inconsistencies in alert rule form depending on alert type

* Fix default annotations when comming from dashboard panel

* Update texts following pr review comments

* Fix texts

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-07-25 17:34:14 -03:00
Sonia Aguilar 4a59022fe8 Alerting: Update texts in alert rule form (#71831)
* Update texts in alert rule form

* Update default policy text
2023-07-18 16:58:45 +02:00
Sonia Aguilar ec479b8d88 Alerting: Save and restore condition reference while switching type (#71629)
Save and restore condition reference while switching type
2023-07-18 10:06:47 +02:00
Sonia AguilarandVirginia Cepeda 718401d250 Alerting: Add smart type selection when creating a new alert rule (#71071)
* Add smart type selection when creating a new alert rule

* Auto switch when switch button has not been clicked yet

* remove unnecessay code after the last refacgtor

* Refactor

* Remove unneeded prop

* Move SmartAlertTypeDetector to its own file

* Fix tests

* Refactor: new useSetExpressionAndDataSource hook

* Fix expressions not been propagated when switching from one type to another

* Change texts

* Update tests

* Update text in switch button

* Update texts and tests

* Refactor: move code to getCanSwitch new method

* Move smart alert after queries and remove auto-switch

* Remove expressions and restore them when switching between grafana and cloud type

* Rename previous expression state

* Fix tests

* Add data source name for data source-managed alert selection

* Update reducer when changing cloud data source

* PR review suggestions

* PR review suggestions 2nd part

* PR review suggestions 3th part

* Fix canSwitch

* Update texts on smart alert

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-07-13 17:02:47 +02:00
Sonia Aguilar 82a5770376 Alerting: Fix state in expressions footer (#71441)
Fix state in expressions footer
2023-07-12 13:44:39 +02:00
Sonia AguilarandGilles De Mey 00e9185b1a Alerting: Add legend for mixed in Loki alert history and use highlight instead of scroll (#71131)
* Add legend for mixed in Loki alert history

* Highlight row in the log list while hovering in the timeline instead of srcolling into it

* update some of the styles

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-07-07 09:10:10 +02:00
Sonia AguilarandGilles De Mey 97420119e1 Alerting: Reduce number of unnecessary request in the alert list panel in case … (#70583)
* Reduce number of unnecessary request in the alert list panel in case we have data source filter selected

* use fetchPromAndRulerRulesAction instead of fetchAllPromAndRulerRulesAction in case of having datasource selected in options

* remove unnecessary useEffect

* Reduce number of requests in GroupBy component if data source is selected

* use redux utils for asyncmapslice

* lint

* Address review comments

* Skip fetching grafana rules if datasource is not Grafana rules source name

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-06-30 15:16:14 +02:00
Sonia Aguilar 0e4a8b01ab Alerting: Use ToggleTip instead of Hovercard in the info popup on Math expressions (#70881)
* Use ToggleTip instead of Hovercard in the info popup on Math expressions

* Address review comments
2023-06-29 20:02:30 +02:00
Sonia Aguilar 519e840f97 Alerting: Render folder selector in options for Alert List Panel only when having Grafana datasource (#70816)
Render folder selector in options for Alert List Panel only when no datasource is selected or when Grafana is selected as the datasource
2023-06-28 15:38:32 +02:00
Sonia Aguilar c7ddf29cdf Alerting: Add NeedHelpInfo component in notifications step. (#70740)
Add NeedHelpInfo component in notifications step and use it in annotations step (instead of HoverCard) for consistency
2023-06-27 16:46:56 +02:00
Sonia AguilarandGilles De Mey b0ac49926d Alerting: Expression card improvements (#70395)
* Show description for each expression type in the body and change widht depending on the type

* Move condition indicator to the header

* Make order of fields in expressions to be consistent for each expression type

* Add tooltip for expression type menu

* Update styles depending on the expression type

* Update styles and move add query button under queries

* Add NeedHelpInfo component

* Adress PR review comments

* Apply description updates from #70540

* Rename gelTypes to expressionTypes

* Update layout for expressions according to the real usecases

* Update footer to include series count in all expressions

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-06-27 11:35:56 +02:00
Sonia Aguilar e6243f72fd Alerting: Add file and rule_group query params in request for filtering the res… (#70379)
* Add file and rule_group query params in request for filtering the response when loading rule in view mode

* Fix test
2023-06-21 09:08:20 +02:00
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
Sonia Aguilar 848eb01a89 Alerting: Fix broken UI because of query being optional for some ExpressionQuer… (#69650)
* Fix broken UI because of query being optional for some ExpressionQuery coditions field

* Delete query field from conditions in utils.test.ts
2023-06-07 10:58:08 +02:00
Sonia Aguilar 97802e44a6 Alerting: Make two boxes in template form adaptative to the screen (#67967)
Make two boxes in template form adaptative to the screen width to be align in the same line when possible
2023-05-08 11:32:46 +02:00
Sonia AguilarandGilles De Mey 49ff85ef54 Alerting: Fix action buttons label and placement in several views following standard and being consistent with the rest of the ui (#67799)
* Fix action buttons label and placement in several views following standard and being consistent with the rest of the ui

* Update public/app/features/alerting/unified/components/mute-timings/MuteTimingForm.tsx

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Fix secondary buttons to not have outline

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-04 17:05:26 +02:00
Sonia Aguilar d10ee8263c Alerting: Change order of buttons bellow payload data editor (#67830)
Change order of buttons bellow payload data editor
2023-05-04 15:23:08 +02:00
Sonia Aguilar 8166453f9f Alerting: Fix export button variant (#67742)
Fix export button variant
2023-05-03 17:01:20 +02:00
Sonia Aguilar 7ed93cea54 Alerting: Fix bottom links(useful links) at contact points fundamentals page (#67695)
Fix bottom links(useful links) at contact points fundamentals page
2023-05-03 07:24:09 +00:00
Sonia Aguilar 3854be1fcb Alerting: Implement template preview for Grafana AlertManager (#65530)
* Add Preview template and payload editor to templates form

* Add TemplatePreview test and update css

* Preview errors for each template that is wrong

* Enable preview templating only for Grafana Alert Manager

* Use harcoded default payload instead of requesting it to the backend

* Update error response in the api definition

* Add spinner when loading result for preview

* Update api request followind DD changes

* Use pre instead of TextArea to render the preview

* Fix tests

* Add alert list editor

* Add start and end time for alert generator

* Add preview for data list added in the modal

* Update copies and move submit button in alert generator to the bottom

* Copy updates

* Refactor

* Use tab instead of button to preview

* Move payload editor next to the content

* Copy update

* Refactor

* Adress PR review comments

* Fix wrong json format throwing an exception when adding more data

* Use monaco editor for payload

* Only show text 'Preview for...'  when we have more than one define

* Fix some errors

* Update CollapseSection style

* Add tooltip for the Payload info icon explaining the available list of alert data fields in preview

* Set payload as invalid if it's not an array

* Fix test

* Update text in AlertTemplateDataTable

* Add separators to distinguish lines that belong to the preview

* Fix text

* Use subDays instead of addDays for substracting days
2023-04-28 17:05:45 +02:00
Sonia Aguilar b5fbce50b3 Alerting:Fix alert panel not rendering correct number for cloud rules instances (#67487)
Fix alert panel not rendering correct number for cloud rules instances
2023-04-28 12:50:29 +02:00
64ee42d01e Alerting: Add limits and move state and label matching filters to the BE (#66267)
* WIP

* Add instance totals to combined rule. Use totals to display instances stats in the UI

* WIP

* add global summaries, fix TS errors

* fix useCombined test

* fix test

* use activeAt from rule when available

* Fix NaN in global stats

* Add no data total to global summary

* Add totals recalculation for filtered rules

* Fix instances totals, remove instances filtering from alert list view

* Update tests

* Fetch alerts considering filtering label matchers

* WIP - Fetch alerts appending state filter to endpoint

* Fix multiple values for state in request being applyied

* fix test

* Calculate hidden by for grafana managed alerts

* Use INSTANCES_DISPLAY_LIMIT constant for limiting alert instances instead of 1

* Rename matchers parameter according to API changes

* Fix calculating total number of grafana instances

* Rename matcher prop after previous change

* Display button to remove max instances limit

* Change matcher query param to be an array of strings

* Add test for paramsWithMatcherAndState method

* Refactor matcher to be an string array to be consistent with state

* Use matcher query string as matcher object type (encoded JSON)

* Avoind encoding matcher parameters twice

* fix tests

* Enable toggle for the limit/show all button and restore limit and filters when we come back from custom view

* Move getMatcherListFromString method to utils/alertmanager.ts

* Fix limit toggle button being shown when it's not necessary

* Use filteredTotals from be response to calculate hidden by count

* Fix variables not being replaced correctly

* Fix total shown to be all the instances filtered without limits

* Adress some PR review comments

* Move paramsWithMatcherAndState inside prometheusUrlBuilder method

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-04-25 11:19:20 +02:00
Sonia Aguilar 400fae3bd6 Alerting: Change tooltip error text in collapsed contact point table (#67022)
Change tooltip error message in collapsed contact point table
2023-04-21 09:37:31 +02:00
Sonia AguilarandGilles De Mey 8485deb2c0 Alerting: Split silences view expired/not-expired (#66562)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-04-17 16:30:41 +02:00
Sonia AguilarandVirginia Cepeda 008bf143ac Alerting: Add label filters to the logic of showing hidden instances (#65674)
* Add label filters to the logic of showing hidden instances

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>

* Add tests

Co-Authored-By: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-04-03 15:39:06 +02:00
Sonia Aguilar 54d7e95be1 Alerting: Fix wrong text in step4 (#65279)
* Fix wrong text in step4

* Add link to documentation for annotations in grafana alerts and cloud alerts
2023-03-27 15:28:20 +02:00
Sonia Aguilar 2f95171a45 Fix flacky test in RulelList.test.tsx (#64725) 2023-03-14 09:45:27 +01:00
Sonia Aguilar 4c8855ed2d Alerting: Fix contact point name being URL-encoded in the title (#64590)
Fix contact point name being encoded in the title text
2023-03-10 06:20:28 -05:00
Sonia Aguilar a669b72641 Alerting: Fix alert form broken coming from panel (#64148)
Fix alert form broken coming from panel
2023-03-06 09:06:24 +01:00
Sonia Aguilar 9765c98b3d Alerting: Fix UI crashing when selecting custom grouping in alert panel (#64124)
Fix UI crashing when selecting custom grouping in alert panel
2023-03-03 06:59:36 -05:00
Sonia Aguilar 9e1ea8c990 Alerting: Avoid printing [object][Object] in error message (#64023)
Avoid printing [object][Object] in error message
2023-03-02 10:48:44 -05:00
Sonia Aguilar fa35ed8141 Fix wrong texts in titles when cloning templates (#63930) 2023-03-01 09:37:00 -05:00
Sonia Aguilar 89ad81b15a Alerting: Fix width in alerts table columns on EditGroupModal (#63845)
Fix width in alerts table columns on EditGroupModal
2023-02-28 12:50:58 +01:00
Sonia Aguilar 526cac60e5 Alerting: Fix AlertLabelDropdown to be case sensitive (#63787)
Fix AlertLabelDropdown to be case sensitive
2023-02-28 09:53:33 +01:00
Sonia AguilarandGilles De Mey a41e9b2dc7 Alerting: Create alert link from dashboard alerting panel (#63648)
* WIP

* feat: update CSS for long names

also adds broken href, to fix later

* Create correct link using CombinedRules

* Use link instead of button for alert link

* Updates from PR review

* Handle loading,haveResults and dispatched state for both promRules and rulerRules

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-02-27 15:24:58 +01:00
Sonia Aguilar b42f973a7a Alerting: Fix changing datasource and creating new query not using defaults. (#63092)
* Set default query when changing data source or adding new alert query

* Set default query when creating new alert rule

* Set fefault query for cloud and recording rules

* Create hook for getting defaults in AlertRuleForm

* fixing tests

* Use conditionals with 'if' for more clarity and rename lazy to async

* Add loading indicator for default queries

* Fix tests

* Make newModel a sync method and fix tests error

* Use useAsync instead of useEffect for an async call
2023-02-24 13:43:54 +01:00
Sonia Aguilar 46cbcc813b Alerting: Fix default_template.go link in docs (#62885)
Fix default_template.go link in docs
2023-02-03 17:27:13 +01:00
753c84f825 Alerting: Pass yaml as a query param in export request (#62751)
* Set YAML as default value for exporting alert rules

* use YAML format for rule list export

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* lint

* Add new format query param to swagger+docs

* Fix broken test

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2023-02-02 16:10:02 +00:00
Sonia Aguilar 517e614661 Alerting: Set YAML as default value for exporting alert rules (#62760)
Set YAML as default value for exporting alert rules
2023-02-02 11:38:27 +00:00
151e57df70 Alerting: Add Copy action to templates table (#62135)
* Add duplicate action to templates table

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>

* Move duplicate icon, and remove provenance when rendering TemplateForm

* Create generic generateCopiedName method to avoid duplication and use it also in the CloneRuleEditor

* Use 'Copy' for duplicating templates and cloning alert rules

* Improve updating the template content with new unique define values when copying

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>

* Fix typo

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2023-02-01 14:14:10 +01:00
Sonia Aguilar c0865c863d Alerting: Show 'start typing' message in evaluation group folder in case of empty options. (#62611)
Show start typing message in evaluation group folder in case of empty options
2023-02-01 12:20:57 +01:00
Sonia Aguilar d44f250aea Alerting: Add export button for exporting all alert rules in alert list view (#62416)
* Add export button for exporting all alert rules in alert list view

* Add RBAC for export button

* Use provisioningPermissions.read in getRulesAccess method instead of directly using AccessControlAction.AlertingProvisioningRead
2023-01-30 11:13:08 +01:00