oncall-engine/engine/config_integrations/formatted_webhook.py
Vadim Stepanov e67d3519fe
Restore email notifications (#621)
* remove email verification related code

* remove email verification related code

* remove sendgrid callback

* remove sendgrid related code

* remove sendgrid related code

* rename sendgrid app to email

* remove email from built-in channels

* remove email from built-in channels

* remove email from built-in channels

* add email backend: https://github.com/grafana/oncall/pull/50

* add email templater

* add email templater

* convert md to html

* add email settings to live settings

* use task to send email, handle some exceptions to create logs

* remove ERROR_NOTIFICATION_MAIL_DELIVERY_FAILED usage

* add email limit logic

* fix tests

* add docs

* remove old email templates

* remove old email templates

* add template_fields to messaging backend

* add messaging backends templates to public api

* add comment for deprecated fields

* fix test

* fix tests

* disable email by default

* don't retry on SMTPException and TimeoutError

* add tests

* bring email back to public api docs

* return ERROR_NOTIFICATION_MAIL_LIMIT_EXCEEDED

* make template_fields tuple

* build_subject_and_title -> build_subject_and_message

* add one more comment about template deprecation

* use 8 as backend id

* add comment about gaierror and BadHeaderError

* add comment on importing in notify_user_async

* edit oss docs
2022-10-19 12:32:56 +01:00

56 lines
1.5 KiB
Python

# Main
enabled = True
title = "Formatted Webhook"
slug = "formatted_webhook"
short_description = None
description = None
is_displayed_on_web = True
is_featured = False
is_able_to_autoresolve = True
is_demo_alert_enabled = True
description = None
# Default templates
slack_title = """\
*<{{ grafana_oncall_link }}|#{{ grafana_oncall_incident_id }} {{ payload.get("title", "Title undefined (Check Slack Title Template)") }}>* via {{ integration_name }}
{% if source_link %}
(*<{{ source_link }}|source>*)
{%- endif %}"""
slack_message = "{{ payload.message }}"
slack_image_url = "{{ payload.image_url }}"
web_title = '{{ payload.get("title", "Title undefined (Check Web Title Template)") }}'
web_message = slack_message
web_image_url = slack_image_url
sms_title = web_title
phone_call_title = sms_title
telegram_title = sms_title
telegram_message = slack_message
telegram_image_url = slack_image_url
source_link = "{{ payload.link_to_upstream_details }}"
grouping_id = '{{ payload.get("alert_uid", "") }}'
resolve_condition = '{{ payload.get("state", "").upper() == "OK" }}'
acknowledge_condition = None
example_payload = {
"alert_uid": "08d6891a-835c-e661-39fa-96b6a9e26552",
"title": "TestAlert: The whole system is down",
"image_url": "https://upload.wikimedia.org/wikipedia/commons/e/ee/Grumpy_Cat_by_Gage_Skidmore.jpg",
"state": "alerting",
"link_to_upstream_details": "https://en.wikipedia.org/wiki/Downtime",
"message": "This alert was sent by user for the demonstration purposes\nSmth happened. Oh no!",
}