* Initial commit for state tracking
* basic state transition logic and tests
* constructor. test and interface fixup
* use new sig for sch.definitionRoutine()
* test fixup
* make the linter happy
* more minor linting cleanup
* Alerting: Opsgenie send tags as extra properties
Allow users to select where to send notification tags when alerting via
OpsGenie. Supports sending tags as key/value details, concatenated
strings in tags or both.
Users will be able to see their tags as key/values under extra
properties in an alert on the Opsgenie UI. These key/values can
then be used in the platform for routing, templating etc.
* Configurable delivery to either tags, extra properties or both
* Default to current behaviour (tags only)
* Support both so users can transition from tags to details
Add docs and clean up references
* Alerting: Add additional arg for Opsgenie tests
The NewEvalContext function now requires a 'PluginRequestValidator' argument.
As our test does not use the validator we can specify 'nil' to satisfy the
function and allow our test to pass as expected.
* Alerting: Opsgenie doc fixes
Accept suggested changes for Opsgenie docs
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Alerting: Opsgenie provisioning settings docs
Add the new setting to the provisioning docs
* Alerting: Opsgenie doc typo correction
Move the comma (,) out of the preformatting tags for the setting value
* Alerting: Opsgenie refactor send switches
Refactor the send switches to be methods on the OpsgenieNotiefier
itself. This also cleans up the method names so that the code reads
a bit more logically as:
if we should send details: send details
if we should send tags: send tags
This avoids the calling code needing to care about passing the state
and allows an engineer working in the `createAlert` function to focus
on the results of applying the logic instead.
* Alerting: Opsgenie docs rename note
Rename the note heading to match the number to more clearly link them.
* Alerting: Opsgenie use standard reference to note
Refer to the note below as per recommendation and standards.
Fixes#30331
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
* Alerting: Fetch configuration from the database and run a notification
instance
Co-Authored-By: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
* AzureMonitor: display errors from requests for the dropdowns
* switch to array of errors, using just the last one
* unify error object
* move files into utils
* TESTS
* fix tests
This pull request migrates testdata to coreplugin streaming capabilities,
this is mostly a working concept of streaming plugins at the moment,
the work will continue in the following pull requests.
- Add the ability to stick metadata attached to a value in expressions. Currently uses Frame.Meta.Custom.
- None of this is consumed by anything yet, so an incremental step.
- Takes the conditions property from the settings column of an alert from alerts table and turns into an ng alerting condition with the queries and classic condition.
- Has temp API rest endpoint that will take the dashboard conditions json, translate it to SEE queries + classic condition, and execute it (only enabled in dev mode).
- Changes expressions to catch query responses with a non-nil error property
- Adds two new states for an NG instance result (NoData, Error) and updates evaluation to match those states
- Changes the AsDataFrame (for frontend) from Bool to string to represent additional states
- Fix bug in condition model to accept first Operator as empty string.
- In ngalert, adds GetQueryDataRequest, which was part of execute and is still called from there. But this allows me to get the Expression request from a condition to make the "pipeline" can be built.
- Update AsDataFrame for evalresult to be row based so it displays a little better for now
* first pass
* add instance manager
* fix tests
* remove dead code
* unexport fields
* cleanup
* remove ds instance from executor
* cleanup
* inline im
* remove old func
* get error working
* unexport field
* let fe do its magic
* fix channel name
* revert some tsdb changes
* fix annotations
* cleanup
* ButtonStory: updates story from knobs to controls
* removed type in story
* changed to a much descriptive variable name
* adds type back to the story