* Refactor fetch for reveivers for using RTKQuery
* Simplify receiversApi contactPointsState endpoint
* Fix tests and create useGetContactPointsState hook for using receiversApi.useContactPointsStateQuery
* 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>
* Add basic UI for custom ruler URL
* Add build info fetching for alerting data sources
* Add keeping data sources build info in the store
* Use data source build info to construct data source urls
* Remove unused code
* Add custom ruler support in prometheus api calls
* Migrate actions
* Use thunk condition to prevent multiple data source buildinfo fetches
* Unify prom and ruler rules loading
* Upgrade RuleEditor tests
* Upgrade RuleList tests
* Upgrade PanelAlertTab tests
* Upgrade actions tests
* Build info refactoring
* Get rid of lotex ruler support action
* Add prom ruler availability checking when the buildinfo is not available
* Add rulerUrlBuilder tests
* Improve prometheus data source validation, small build info refactoring
* Change prefix based on Prometheus subtype
* Use the correct path
* Revert config routing
* Add deprecation notice for /api/prom prefix
* Add tests to the datasource subtype
* Remove custom ruler support
* Remove deprecation notice
* Prevent fetching ruler rules when ruler api is not available
* Add build info tests
* Unify naming of ruler methods
* Fix test
* Change buildinfo data source validation
* Use strings for subtype params and unveil mimir
* organise imports
* frontend changes and wordsmithing
* fix test suite
* add a nicer verbose message for prometheus datasources
* detect Mimir datasource
* fix test
* fix buildinfo test for Mimir
* shrink vectors
* add some code documentation
* DRY prepareRulesFilterQueryParams
* clarify that Prometheus does not support managing rules
* Improve buildinfo error handling
Co-authored-by: gotjosh <josue.abreu@gmail.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
* Add alertmanager notifications tab
* Link to silences page from am alert
* Include summary for alertmanager group
* Fix colors for am state
* Add horizontal dividing line
* PR feedback
* Add basic unit test for alert notificaitons
* Rename Notificaitons component file
* Polling interval to groups
* Add alertmanager notifications tab
* Link to silences page from am alert
* Include summary for alertmanager group
* PR feedback
* Add basic unit test for alert notificaitons
* Rename Notificaitons component file
* Alerting: make alertmanager notifications view responsive (#36067)
* refac DynamicTableWithGuidelines
* more responsiveness fixes
* Add more to tests
* Add loading and alert state for notifications
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* add page and basic things
* quick annotations
* added so we can run queries on the view rule page.
* wip.
* merge
* cleaned up the combined rule hook.
* readd queries
* fixing so you can run queries.
* renamed variable.
* fix rerenders and visualizing
* minor fixes.
* work in progress.
* wip
* a working version that can be tested.
* changing check if we have data.
* removed unused styling.
* removed unused dep.
* removed another dep.
* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts
Co-authored-by: Domas <domas.lapinskas@grafana.com>
* refactored and changed UI according to figma.
* resseting menu item.
* removing unused external link.
* refactor according to feedback.
* changed so we always fetch the rule.
* fixing so datasource only is displayed once. Also changed so we only navigate to alert list when rule has been deleted.
* removed unused dep.
* Will display query as json if we can't find data source.
* changed to a function instead of the React.FC.
* refactoring of id generation and added support to generate ids for native prometheus alerts without ruler.
* set max width on page content
* added page where you can easily link to a rule in grafana.
* listing rules with same name.
* fixing error cases.
* updates after pr feedback
* more pr feedback
* use 1h-now as timerange
* remove unused import
* start on test
* add test for cloud case
* add ruleview render test
* add render tests for grafana and cloud alerts
* add mock for backendsrv
* add rendering test for the find route
* check if cards are rendered
Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
Co-authored-by: Domas <domas.lapinskas@grafana.com>