Commit Graph
45 Commits
Author SHA1 Message Date
Sonia Aguilar 8bbef70363 Alerting: Fix recording rules being shown in the rules table on edit group modal (#62171)
* Fix recording rules being shown in the rules table on edit group modal

* Show no alerts message when there is not some non-recording rules and add tests

* Move specific mock constants to the test file
2023-01-26 16:11:29 +01:00
Sonia Aguilar dbdd135298 Alerting: Fix recording rules showing alert notification information. (#61988)
* Fix recording rules form steps not showing alert information

* Fix docs about creating cloud and recording rules

* Update docs with suggested changes
2023-01-25 08:26:51 +00:00
Sonia Aguilar 3b73b16245 Alerting: Add maxdatapoints in alert rule form (#61904)
Add maxdatapoints in alert rule form
2023-01-24 09:16:21 +01:00
Sonia Aguilar a6102105af Alerting: Fix QueryAndExpressionStep not using the right query (#61738)
Fix QueryAndExpressionStep not using the right query
2023-01-19 17:33:32 +01:00
Sonia Aguilar 04b5e6ed9e Alerting: Fix group select not being filled by selected folder when creating alert from panel (#61577)
Add fetchRulerRulesIfNotFetchedYet fetching when results are an empty object
2023-01-17 11:16:54 +01:00
Sonia Aguilar fb5a033282 Alerting: use SupportedPlugin.OnCall detecting OnCall types as a single source of truth (#61473)
Use SupportedPlugin.OnCall detecting OnCall types as a single source of truth
2023-01-13 13:34:39 +01:00
Sonia Aguilar 24c3c3a0ef Alerting: Use pluginBridge to check if plugin is installed (#61356)
* Use getPluginSettings (/api/plugins//settings) to check if plugin is installed

* Use usePluginBridge hook instead of getPluginSettings to check if plugin is installed
2023-01-12 19:52:36 +01:00
Sonia Aguilar f2d4e24710 Alerting: improve FolderPicker and Evaluation Group Select for Huge lists (#61221)
* Add AsyncVirtualizedSelect component in grafana-ui

* Slice FolderPicker results to 1k and virtualize list using AsyncVirtualizedSelect

* Group list in alert form: Use AsyncSelect and slice results to 1000

* Virtualize and slice always in FolderPicker: set default sliceResults value and let consumers change this value

* Always slice results in FolderPicker

* Limit folder results setting the limit in the api call instead slicing in the FE

* Remove warning about the limit in the Select label
2023-01-12 11:45:03 +01:00
Sonia Aguilar f7ae909324 Alerting: Fix General folder being added in alerting FolderPicker (#61277)
Fix General folder being added in alerting FolderPicker
2023-01-11 15:35:47 +01:00
Sonia Aguilar 4ae0382415 Alerting: Add pagination in group modal alert table (#60868)
Add pagination in group modal alert table
2023-01-04 14:48:34 +01:00
Sonia Aguilar f22286df3f Alerting: Fix missing edit/delete/copy link in alert view (#60874)
Fix missing edit/delete/copy link in alert view
2023-01-03 13:08:14 +01:00
Sonia Aguilar 22ad487c4b Use queryFn instead of query to be able to catch errors in onCall req… (#60685)
Use queryFn instead of query to be able to catch errors in onCall request
2022-12-22 14:30:27 +01:00
Sonia Aguilar e219e2a834 Alerting: Recognise & change UI for OnCall notification policy + contact point (#60259)
* Identify and show onCall contact points with a badge in case the plugin is installed

* Add onCall logo for onCall contact points Badge

* Refactor and make Grafana App Receiver type more generic, not only for onCall type

* Show onCall notification policy in the specific routing table with special onCall badge

* Fix tests

* Move onCall badge to the type column in contact points view table

* Fix typos and remove onCallIntegrations from tagTypes in alertingApi

* Fetch only local plugins instead of all (external are not needed) and don't fetch plugin details

* Use directly useGetOnCallIntegrationsQuery and more PR review suggestions

* Move onCall contact point to the top in the drop-down,  in the notification policy view

* Add PR review requested changes
2022-12-21 14:46:55 +01:00
Sonia Aguilar a812818457 Alerting: Show unknown badge instead of Error in group rule modal in case of Mimir unknown interval (#60515)
* Show unknown badge instead of Error in group rule modal in case of  Mimir unknown interval

* Use red Badge with xclamation-circle icon in case of Error in ForBadge

* Fix typo
2022-12-19 15:22:08 +01:00
Sonia Aguilar 1f871d1dff Alerting: Add refactoring todo for getting rid of '+ Add new' option in drop-downs (#60405) 2022-12-15 11:24:58 -05:00
Sonia Aguilar 171cd60480 Alerting: Enable editing evaluation interval in alert form when creating a new group (#60083)
* Enable editing evaluation interval in alert form when creating a new group

* Disable group when no folder selected and focus on group when clicking add new

* Improve group selector showing interval as a description for each option

* Fix evaluate every input and label aligment

* Fix columns width in EditRuleGroupModal rules table

* Reduce amount of space in the evaluation behaviour section
2022-12-15 08:28:47 +01:00
Sonia Aguilar cf342f1933 Alerting: Reduce number of scroll bars in rule group modal (#59725)
Reduce number of scroll bars in rule group modal
2022-12-09 12:31:42 +01:00
Sonia Aguilar 55055d0b9b Alerting: Fix RuleEditor flaky test for existing grafana managed alert (#59780)
* Fix RuleEditor flaky test for existing grafana managed alert

* Fix RuleEditor flaky test for creating a new grafana managed alert

* Fix tests for cloud rules

* Split tests for different rule types

* Move common clickSelectOption method to helpers

* Remove from RuleEditorCloudRules.test.tsx  a repeated cloud rule test

* Move existing grafana rule test case to a new file

* Split RuleEditorCloudRules test: move checking only allowed data sources test case to a new test file

* Re-use common ui const

* Re-use renderRuleEditor method

* Create getDiscoverFeaturesMock to reduce code
2022-12-07 16:15:33 +01:00
Sonia Aguilar 020b9960c8 Alerting: Move modal buttons before the rules table (#59703)
Move modal buttons before the rules table
2022-12-02 13:51:01 +01:00
Sonia Aguilar 1020e33409 Add discord as a possible receiver in cloud rules (#59366) 2022-11-29 17:23:21 +01:00
Sonia Aguilar a5c58e46f2 Fix Silence table grid layout (#59415) 2022-11-28 17:10:39 +01:00
Sonia Aguilar 980a2cb949 Use Stack from experimental instead of css styles for flex containers (#59201) 2022-11-23 15:43:38 +01:00
Sonia Aguilar 9c4b78ae4f Alerting: add group name validation in alert rule form (#59095)
Add group name validation in alert rule form
2022-11-22 12:26:07 +01:00
Sonia Aguilar 082c8ba7a0 Docs: Add step for custom labels in alert form (#59027) 2022-11-22 11:35:54 +01:00
Sonia Aguilar 99725bf9d4 Alerting: Improve UI for making more clear that evaluation interval belongs to the group (#56397)
* In GrafanaEvaluationBehaviour component : Split evaluation interval from for duration and add button to edit to allow editing it and warning

* Move folder and group fields to the evaluation section in the alert form

* Include 'Group behaviour' info in a card and fix 'Edit group behaviour' button onClick.

* Create hook for  getting groups for a particular folder

* Use dropdown in group instead of input and fill it with groups that belong to the selected folder

* Add evaluation interval for each group in dropdown , and show warning in case user wants to update it

* Avoid saving evaluation interval when some rules in the same group would have invalid For with this change

* Clear group value when reseting the drop down

* Remove evaluationEvery from form values, show this as a label and add a button to edit the group

* Open EditRuleGroupModal for editing evaluation interval form the alert rule form

* Fix aligment in group behaviour card

* compact space in evaluation behaviour card and change group drop down label

* In EditgroupModal, in case of grafana managed group, show folder instead of namespcace label and disable the folder name input

* Add edge case in rulesInSameGroupHaveInvalidFor method when For value is zero

* Vertically align annotations input to the evaluation section in alert rule form

* Fix width when editing new group

* Add placeholder for group input

* Make folder and group in modal readonly from alert form and disable edit group button when new group

* Update texts

* Don't show evaluation behaviour section until folder and group are selected

* Update texts

* Fix merge conflits

* Fix wrong margin in evaluation label

* Remove non-used isRulerGrafanaRuleDTO method

* Remove negative margin to avoid overlaping on Firefox
2022-11-21 17:59:19 +01:00
Sonia Aguilar ee9057a5fa Alerting: Remove checkForPathSeparator validation in alert rule name (#59014)
Remove checkForPathSeparator validation in alert rule name
2022-11-21 11:15:00 +01:00
Sonia Aguilar 97bf3c1dca Alerting: Move alert rule name to the top left in alert form (#58579)
* Move alert rule name to the top left in alert form, and add a placeholder

* Update docs

* Fix lint error
2022-11-21 09:11:02 +01:00
Sonia Aguilar 88a829e103 Fix: don't show an error when receiver status is not available (#58638) 2022-11-11 14:26:43 +01:00
Sonia Aguilar c8f87f4413 Alerting: Improving group modal with validation on evaluation interval (#57830)
* Show rules list for the group with the For duration, and add validation for keeping all rules in the same group with a valid For

* Sort rules by For duration

* Add number evaluations column in alert list

* Add Error badge in column #evaluations in case of invalid For

* Add test for getNumberEvaluationsToStartAlerting method

* Move re-usable new InfoIcon component into a separate file in unified components folder

* Add edge case for getNumberEvaluationsToStartAlerting method, and change some namings
2022-11-03 12:50:32 +01:00
Sonia Aguilar 30cb04f205 Alerting: move alert rule View/Edit/Delete action buttons to collapsed row (#57687)
* Move view edit and delete buttons to RulesTable

* Move tests for edit and delete buttons to a new test file for RulesTable

* Action buttons: Only show icon for non large screens, and add a Tooltip

* Remove buttons moved from the RuleDetailsActionButtons component

* Fix horizontal aligment for icons for non large devices
2022-10-31 14:42:09 +01:00
Sonia Aguilar cd0e0fcc53 fix: add alerting enabled condition FOR adding alerting tab in folder view (#57434) 2022-10-21 15:32:59 +02:00
Sonia Aguilar a61e044d00 Contact points tab: Remove error count in integrations details and show only Error label (#57325) 2022-10-20 18:24:32 +02:00
Sonia Aguilar 3f26ffde94 Alerting: Add relativeTimeRange from dataSource when using Resample expresions (#56652)
* Fix: Add relativeTimeRange from dataSource when using Resample expression

* Add test for relativeTimeRange when updating resample expression

* update time range for expressions when data sources are updated

* Get data source recursively from expression up to the last query that this tree is referencing to

* Remove unnecessary produce from immer, and check if there is a cycle in the queries structure
2022-10-17 12:29:05 +02:00
Sonia Aguilar d957fe01f4 Simplify mocking useGetContactPointsState (#56842) 2022-10-13 11:06:20 +02:00
Sonia Aguilar 277803a894 Alerting: Refactor fetch for receivers for using RTKQuery (#56624)
* Refactor fetch for reveivers for using  RTKQuery

* Simplify receiversApi contactPointsState endpoint

* Fix tests and create useGetContactPointsState hook for using receiversApi.useContactPointsStateQuery
2022-10-13 10:00:59 +02:00
Sonia Aguilar 3990d2b2b3 Alerting/handle 0s last notify duration notification error feedback (#56541)
* Show '-' in notifiers table when lastNotifyAttemptDuration is 0s

* Add tests for no attempt (lastNotifyAttempt null date) and no last duration (lastNotifyAttemptDuration 0s)
2022-10-07 17:07:02 +02:00
Sonia Aguilar a18a3d7628 Show No attempts instead of OK when there is no attempt for notifier (#56494) 2022-10-07 11:41:18 +02:00
Sonia Aguilar 01526d9053 Add error details in notification error feedback tooltip (#56472) 2022-10-06 16:20:07 +02:00
Sonia AguilarandKonrad Lalik d8d8ef1aff Alerting: Add Notification error feedback on contact points view (#56225)
* Alerting: Receivers integrations error feedback: WIP - Add notifications error at the top right on contact points view (#52390)

* Add interfaces for contact point errors

* [WIP] Create fake response for the new service to get contact point errors

* [WIP] Create action an reducer for the new service to get contact point errors

* Fetch fetchContactPointStates in Contact Points tab every 20s and when AM changes

* [WIP] Use store to get error count

* Show number of integrations errors at the contact points main view

* Add warning icon and refactor styles using getStyles

* Change lastNotify type to string instead of DateTime

* Use Stack component from experimental library when it is possible

* Alerting: Add receivers error feedback in contact point list (#52524)

* Refactor types for contact points state

* Add health column in ReceiversTable in case error state is available for this AM

* Create method for converting contact points state DTO to the FE type used in Redux store

* Update types

* Fix indexOf criteria getting integration type

* Change type name to integrationType name

* Change new components to be named functions to follow the FE style-guide

* Fix typos

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* Decouple ReceiversTable from Redux state

* Create private useContactPointsState hook to simplify code in ReceiversTable component

* Add tests for getIntegrationType and refactor the method to validate the name

* Add tests for contactPointsStateDtoToModel method

* Remove unnecessary check

* Use Badge compoment for health status in contact point list

* Create new method parseIntegrationName to simplify getting types and index from integration name

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* Alerting: Show integrations error feedback when expanding contact point in list (#52920)

* Use DynamicTable for rendering list of contact points and make them expandable if error status is available

* Render expanded content for contact points integrations

* Style and format last notify column

* Add send resolve column to the integration details

* Fix receiver id for DynamicTable row

* Update clock icon in integration state

* Fix tests

* Add PR review sugestions

* Alerting/integrations error feedback handle null dates in response 3 (#55659)

* Update fake response with lastNotify ISO8601 formatted, to be aligned with latest BE changes

* Update LastNotify in ReceiversTable component to handle null date

* Alerting/integrations error feedback handle 404 state not available (#55803)

* Create fetchContactPointsState using the future contact point url and handle 404 error

* Add contact points state tests

* Alerting/update receivers dto naming 2 (#56201)

* Update NotifierStatus naming and fix sendResolved not being updated in UI

* Return always empty ContactPointsState array when catching an error in the request response

* Fix test

* Show notification status only in notifications main view

* Calculate total error count from the final contactPointsState object, to avoid errors when duplicated entries are returned wronly in the response

* Add PR review suggestions

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2022-10-06 15:23:38 +02:00
Sonia Aguilar ef641ea9c9 Alerting: fix alert supported warning when editing data source name (#55886) 2022-09-28 14:41:54 +02:00
Sonia Aguilar e714d750f2 Alerting: Character / allowed in dashboard folder names, but not in alert folder names (#54395)
* Refactor FolderPicker to functional componment and add dissalowSlashes as an optional prop

* Update DetailsStep component to use FolderPicker dissalowing slashes in folders

* Adds icon that links to the Github issue when showing slashes not allowed  warning

* Add test for slashed folders warning

* Fix merge conflicts with folder creation fix PR

* Move slashes filter to useRuleFolderFilter hook, and make folder warning an optional generic prop

* Apply PR review suggestions
2022-09-23 14:44:24 +02:00
Sonia Aguilar 4270e5606c Alerting: Fix enter key 'clicking' first button on form (#55222)
* Add type='button' in button used in Heading component to prevent having the default value ='submit'

* Add type='button' for buttons used in form when grafana-managed alert type is selected

* Add type='button' for buttons used in form when mimir-or-loki alert type is selected
2022-09-20 11:02:41 +02:00
Sonia Aguilar e677afabdf Use GrafanaAlertStateDecision.Error instead of Error string in RuleEditor test (#55385) 2022-09-19 15:04:24 +02:00
Sonia Aguilar 7a6f452f13 Alerting/fix folder creation dropdown (#54687)
*Refactor FolderPicker to be functional component.

* Add customAdd optional property to FolderPicker so we can add new values in the alert view but keeping the same behaviour in the rest of the ui.

* Add test for being able to add folder when no folders found.
2022-09-14 14:04:36 +02:00
Sonia Aguilar f416651842 Show alerting availability in data source details (#53391)
* Show alerting availability in data source details

* Show tooltip info in data source dropdown when creating an alert

* return earlier in HeaderExtras component

* Use getDataSourceSrv().getInstanceSettings instead of getDataSourceSrv().get to simplify

* Make information icon clickable and open a new window with documentation url
2022-08-12 15:32:07 +02:00