notify user task patch + small update to user notification rules public API docs (#4628)
# What this PR does Patches a small bug noticed (locally) by @Ferril 🙏 + updates our user notification rules public API docs to include `notify_by_msteams` as a valid `type` value (cloud only) <!-- *Note*: if you have more than one GitHub issue that this PR closes, be sure to preface each issue link with a [closing keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue). This ensures that the issue(s) are auto-closed once the PR has been merged. --> ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [x] Added the relevant release notes label (see labels prefixed w/ `release:`). These labels dictate how your PR will show up in the autogenerated release notes.
This commit is contained in:
parent
25031b3463
commit
0163b58399
2 changed files with 7 additions and 5 deletions
|
|
@ -35,7 +35,7 @@ The above command returns JSON structured in the following way:
|
|||
| ----------- | :------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `user_id` | Yes | User ID |
|
||||
| `position` | Optional | Personal notification rules execute one after another starting from `position=0`. `Position=-1` will put the escalation policy to the end of the list. A new escalation policy created with a position of an existing escalation policy will move the old one (and all following) down on the list. |
|
||||
| `type` | Yes | One of: `wait`, `notify_by_slack`, `notify_by_sms`, `notify_by_phone_call`, `notify_by_telegram`, `notify_by_email`, `notify_by_mobile_app`, `notify_by_mobile_app_critical`. |
|
||||
| `type` | Yes | One of: `wait`, `notify_by_slack`, `notify_by_sms`, `notify_by_phone_call`, `notify_by_telegram`, `notify_by_email`, `notify_by_mobile_app`, `notify_by_mobile_app_critical`, or `notify_by_msteams` (**NOTE** `notify_by_msteams` is only available on Grafana Cloud). |
|
||||
| `duration` | Optional | A time in seconds to wait (when `type=wait`). Can be one of 60, 300, 900, 1800, or 3600. |
|
||||
| `important` | Optional | Boolean value indicates if a rule is "important". Default is `false`. |
|
||||
|
||||
|
|
|
|||
|
|
@ -81,10 +81,12 @@ def notify_user_task(
|
|||
|
||||
# Here we collect a brief overview of notification steps configured for user to send it to thread.
|
||||
collected_steps_ids = []
|
||||
for notification_policy in notification_policies:
|
||||
if notification_policy.step == UserNotificationPolicy.Step.NOTIFY:
|
||||
if notification_policy.notify_by not in collected_steps_ids:
|
||||
collected_steps_ids.append(notification_policy.notify_by)
|
||||
for next_notification_policy in notification_policies:
|
||||
if next_notification_policy.step == UserNotificationPolicy.Step.NOTIFY:
|
||||
if next_notification_policy.notify_by not in collected_steps_ids:
|
||||
collected_steps_ids.append(next_notification_policy.notify_by)
|
||||
|
||||
notification_policy = notification_policies[0]
|
||||
|
||||
collected_steps = ", ".join(
|
||||
UserNotificationPolicy.NotificationChannel(step_id).label for step_id in collected_steps_ids
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue