[v10.0.x] Alerting: Fix email template for text/plain emails (#70111)
Alerting: Fix email template for text/plain emails (#69951)
This commit fixes the email template for text/plain emails to
support custom messages. It also fixes the default template,
removing extra whitespace and showing Summary and Description
annotations separate from the other annotations.
(cherry picked from commit c1e3362e21)
Co-authored-by: George Robinson <george.robinson@grafana.com>
This commit is contained in:
co-authored by
George Robinson
parent
20916f597c
commit
39cd2f19e5
@@ -1,38 +1,62 @@
|
||||
[[HiddenSubject .Subject "[[.Title]]"]]
|
||||
[[- define "__default_message" -]]
|
||||
You have [[ len .Alerts.Firing ]] firing alert(s), and [[ len .Alerts.Resolved ]] resolved alert(s) for [[ .GroupLabels ]]
|
||||
|
||||
[[.Title]]
|
||||
----------------
|
||||
[[ if .Alerts.Firing -]]
|
||||
([[ len .Alerts.Firing ]]) FIRING
|
||||
-----------
|
||||
[[ template "__default_alerts_summarize" .Alerts.Firing ]]
|
||||
[[- end ]]
|
||||
|
||||
[[ .Alerts | len ]] alert[[ if gt (len .Alerts) 1 ]]s[[ end ]] for
|
||||
[[ range .GroupLabels.SortedPairs ]]
|
||||
[[ .Name ]] = [[ .Value ]]
|
||||
[[ end ]]
|
||||
[[ if gt (len .Alerts.Firing) 0 ]]([[ .Alerts.Firing | len ]]) Firing[[ end ]]
|
||||
[[ range .Alerts.Firing ]]
|
||||
Labels:
|
||||
[[ range .Labels.SortedPairs ]]
|
||||
[[ .Name ]] = [[ .Value ]]
|
||||
[[ end ]]
|
||||
[[ if gt (len .Annotations) 0 ]]
|
||||
Annotations:
|
||||
[[ end ]]
|
||||
[[ range .Annotations.SortedPairs ]]
|
||||
[[ .Name ]] = [[ .Value ]]
|
||||
[[ end ]]
|
||||
[[ end ]][[ if gt (len .Alerts.Resolved) 0 ]]([[ .Alerts.Resolved | len ]]) Resolved[[ end ]]
|
||||
[[ range .Alerts.Resolved ]]
|
||||
Labels:
|
||||
[[ range .Labels.SortedPairs ]]
|
||||
[[ .Name ]] = [[ .Value ]]
|
||||
[[ end ]]
|
||||
[[ if gt (len .Annotations) 0 ]]
|
||||
Annotations:
|
||||
[[ end ]]
|
||||
[[ range .Annotations.SortedPairs ]]
|
||||
[[ .Name ]] = [[ .Value ]]
|
||||
[[ end ]]
|
||||
[[ end ]]View your Alert rule:
|
||||
[[.RuleUrl]]
|
||||
[[ if .Alerts.Resolved -]]
|
||||
([[ len .Alerts.Resolved ]]) RESOLVED
|
||||
-------------
|
||||
[[ template "__default_alerts_summarize" .Alerts.Resolved ]]
|
||||
[[- end ]]
|
||||
Go to the Alerts page: [[ .AlertPageUrl ]]
|
||||
[[- end -]]
|
||||
|
||||
Go to the Alerts page:
|
||||
[[.AlertPageUrl]]
|
||||
[[- define "__default_alerts_summarize" -]]
|
||||
[[- range . ]]
|
||||
[[ template "__default_alert_labels" . ]]
|
||||
[[ template "__default_alert_annotations" . ]]
|
||||
[[- end ]]
|
||||
[[- end -]]
|
||||
|
||||
[[- define "__default_alert_labels" -]]
|
||||
[[- if gt (len .Labels) 3 -]]
|
||||
Labels: [[ template "__default_sorted_pairs" .Labels ]]
|
||||
[[- else -]]
|
||||
Labels: [[ .Labels.SortedPairs ]]
|
||||
[[- end -]]
|
||||
[[- end -]]
|
||||
|
||||
[[- define "__default_alert_annotations" -]]
|
||||
[[- $annotations := .Annotations -]]
|
||||
[[- if index $annotations "summary" -]]
|
||||
Summary: [[ index .Annotations "summary" ]]
|
||||
[[- $annotations = $annotations.Remove (toStrings (list "summary")) ]]
|
||||
[[ end -]]
|
||||
[[- if index $annotations "description" -]]
|
||||
Description: [[ index $annotations "description" ]]
|
||||
[[- $annotations = $annotations.Remove (toStrings (list "description")) ]]
|
||||
[[ end -]]
|
||||
[[- if index $annotations "runbook_url" -]]
|
||||
Runbook: [[ index $annotations "runbook_url" ]]
|
||||
[[- $annotations = $annotations.Remove (toStrings (list "runbook_url")) ]]
|
||||
[[ end -]]
|
||||
[[- if $annotations -]]
|
||||
Annotations: [[ template "__default_sorted_pairs" $annotations ]]
|
||||
[[ end -]]
|
||||
[[- end -]]
|
||||
|
||||
[[- define "__default_sorted_pairs" -]]
|
||||
[[ range .SortedPairs ]]
|
||||
[[ .Name ]] = [[ .Value ]]
|
||||
[[- end ]]
|
||||
[[- end -]]
|
||||
|
||||
[[- if .Message -]]
|
||||
[[ .Message ]]
|
||||
[[ else -]]
|
||||
[[ template "__default_message" . ]]
|
||||
[[- end ]]
|
||||
|
||||
Reference in New Issue
Block a user