* 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>
* Keybindings: No global keybindings on chromeless pages
* simplify condition
* Refactoring
* Align name and file
* Move logic into AppChrome
* minor fix
* Update Page.tsx
* Fixing test
* Fixed tests
* More fixes
* Fixed more tests
* Fixing final test
* Fixed search in old nav
* 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>
* Add is_paused attr to the POST alert rule group endpoint
* Add is_paused to alerting API POST alert rule group
* Fixed tests
* Add is_paused to alerting gettable endpoints
* Fix integration tests
* Alerting: allow to pause existing rules (#62401)
* Display Pause Rule switch in Editing Rule form
* add isPaused property to form interface and dto
* map isPaused prop with is_paused value from DTO
Also update test snapshots
* Append '(Paused)' text on alert list state column when appropriate
* Change Switch styles according to discussion with UX
Also adding a tooltip with info what this means
* Adjust styles
* Fix alignment and isPaused type definition
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
* Fix test
* Fix test
* Fix RuleList test
---------
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
* wip
* Fix tests and add comments to clarify AlertRuleWithOptionals
* Fix one more test
* Fix tests
* Fix typo in comment
* Fix alert rule(s) cannot be paused via API
* Add integration tests for alerting api pausing flow
* Remove duplicated integration test
---------
Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
* Use suggested value for uid
* update the snapshot
* use __expr__
* replace all -100 with __expr__
* update snapshot
* more changes
* revert redundant change
* Use expr.DatasourceUID where it's possible
* generate files
* 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
* 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
* Fix recording rules form steps not showing alert information
* Fix docs about creating cloud and recording rules
* Update docs with suggested changes
* build(webpack): replace babel-loader with esbuild-loader
* build(webpack): add esbuild minifier to production builds
* Wip
* Removed ngInject and replaced with manual inject params
* chore: bump esbuild to 0.15.13
* Fixed angular issues
* build(frontend): update esbuild to 0.16.16
* chore(webpack): support browserslist for esbuild
* build(esbuild): unify versions of esbuild to 0.16.17 and esbuild-loader to 2.21.0
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
This commit renames "Message templates" to "Notification templates"
in the user interface as it suggests that these templates cannot
be used to template anything other than the message. However, message
templates are much more general and can be used to template other fields
too such as the subject of an email, or the title of a Slack message.
* Use getPluginSettings (/api/plugins//settings) to check if plugin is installed
* Use usePluginBridge hook instead of getPluginSettings to check if plugin is installed
* 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
* Fixed issue where the query editor of the previous ds sets default values on query passed to the query editor of the next ds.
* Fixed issue with changing data source for query in Alerting.
* Will apply default values from DS if available.
* Fix failing tests.
* fixed spell error.
* reverted getDefaultQuery call so it can be added in a separate PR.
* 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