* 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
59 lines
1.3 KiB
Python
59 lines
1.3 KiB
Python
# Main
|
|
enabled = True
|
|
title = "Webhook"
|
|
slug = "webhook"
|
|
short_description = None
|
|
description = None
|
|
is_featured = False
|
|
is_displayed_on_web = True
|
|
is_able_to_autoresolve = True
|
|
is_demo_alert_enabled = True
|
|
|
|
# Default templates
|
|
slack_title = """\
|
|
*<{{ grafana_oncall_link }}|#{{ grafana_oncall_incident_id }} Incident>* via {{ integration_name }}
|
|
{% if source_link %}
|
|
(*<{{ source_link }}|source>*)
|
|
{%- endif %}
|
|
|
|
"""
|
|
|
|
slack_message = "```{{ payload|tojson_pretty }}```"
|
|
|
|
slack_image_url = None
|
|
|
|
web_title = "Incident"
|
|
|
|
web_message = """\
|
|
```
|
|
{{ payload|tojson_pretty }}
|
|
```
|
|
"""
|
|
|
|
web_image_url = slack_image_url
|
|
|
|
sms_title = web_title
|
|
|
|
phone_call_title = sms_title
|
|
|
|
telegram_title = sms_title
|
|
|
|
telegram_message = "<code>{{ payload|tojson_pretty }}</code>"
|
|
|
|
telegram_image_url = slack_image_url
|
|
|
|
source_link = "{{ payload.url }}"
|
|
|
|
grouping_id = "{{ payload }}"
|
|
|
|
resolve_condition = """\
|
|
{%- if "is_amixr_heartbeat_restored" in payload -%}
|
|
{# We don't know the payload format from your integration. #}
|
|
{# The heartbeat alerts will go here so we check for our own key #}
|
|
{{ payload["is_amixr_heartbeat_restored"] }}
|
|
{%- else -%}
|
|
{{ payload.get("state", "").upper() == "OK" }}
|
|
{%- endif %}"""
|
|
acknowledge_condition = None
|
|
|
|
example_payload = {"message": "This alert was sent by user for the demonstration purposes"}
|