* 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
56 lines
1.5 KiB
Python
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!",
|
|
}
|