* 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
* Add new property to AlertmanagerConfig type
* Implement fetching successfully applied configurations
Added method to fetch them from the API and its corresponding action and reducer
* Extract ConfigEditor as component to avoid code duplication
* Display dropdown with valid configs upon error and allow to save them
* Fix tests
* Refactor to call new endpoint using RTK
* Improve texts
* Apply suggested refactor
* Change constant casing
* Only show config selector for Grafana AM
* Remove ts-ignore
* Move code together for simplicity
* Remove invalid mock
* Update endpoint and types based on backend changes
* Rename property
* Rename alermanager config property from backend changes
* Disable editing old configurations
Due to the latest backend changes, we no longer will provide the option to edit previous AM configurations in a textearea.
Instead users will only be allowed to reset to a specific one with the same content. For this reason the textearea for old conf
igurations is disabled and a different form action (not submit) is executed on the "reset config" button. The updateAlertManage
rConfigAction is reset to its old functionality due to these changes.
* Add id to AlertManagerCortexConfig type
We'll need it to pass as a parameter to the new reset endpoint
* Add new endpoint for resetting AM configs to an old version
* Move the "Reset to selected configuration" button next to the drop-down
* Add relative offset to configurations
* Remove URL-based alertmanagers from endpoint config
* WIP
* Add migration and alertmanagers from admin_configuration
* Empty comment removed
* set BasicAuth true when user is present in url
* Remove Alertmanagers from GET /admin_config payload
* Remove URL-based alertmanager configuration from UI
* Fix new uid generation in external alertmanagers migration
* Fix tests for URL-based external alertmanagers
* Fix API tests
* Add more tests, move migration code to separate file, and remove possible am duplicate urls
* Fix edge cases in migration
* Fix imports
* Remove useless fields and fix created_at/updated_at retrieval
Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
* wip: add form inputs for creating mute timing
* form for mute timings
* add action for submitting config
* fix bug in payload
* add table for viewing mute timings
* remove mute timing from routes when deleted
* attach mute timing to route
* edit a mute timing
* use field array for multiple intervals
* Add confirmation modal for deleting mute timing
* add default values to form inputs
* fetch am config prior to renderring form
* validation for mute timing fields
* fix tests
* tests for mute timing form
* small ui fixes for the form and table
* pass mute name as query param
* make time fields inline
* fix validation for an existing alert and overwrite on edit
* rename mute timing in routes on edit
* fix validation for time inputs
* make time interval its own component
* add descriptions for mute timings
* refactor time interval parsing functions
* fix linting and tests
* refactor makeAmLink
* docs for mute timings
* reorganize docs and add intro for mute timings
* doc review edits
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* run prettier
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Support custom annotations and labels when testing contact points
* Add modal for testing contact point
* add option for custom notification type
* use annotation and labels fields from rule editor
* update receivers test for new contact point testing method
* rename modal and remove reserved keys for annotations
* add docs for testing contact points
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Remove validation for labels to be accepted in the Alertmanager, This helps with datasources that produce non-compatible labels.
Adds an "object_matchers" to alert manager routers so we can support labels names with extended characters beyond prometheus/openmetrics. It only does this for the internal Grafana managed Alert Manager.
This requires a change to alert manager, so for now we use grafana/alertmanager which is a slight fork, with the intention of going back to upstream.
The frontend handles the migration of "matchers" -> "object_matchers" when the route is edited and saved. Once this is done, downgrades will not work old versions will not recognize the "object_matchers".
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Nathan Rodman <nathanrodman@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>