docs(alerting): add JSON payload example to template examples list (#104282)
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
---
|
||||
labels:
|
||||
products:
|
||||
- cloud
|
||||
- enterprise
|
||||
- oss
|
||||
title: 'Custom webhook example'
|
||||
---
|
||||
|
||||
```go
|
||||
{{ define "webhook.custom.payload" -}}
|
||||
{{ coll.Dict
|
||||
"receiver" .Receiver
|
||||
"status" .Status
|
||||
"alerts" (tmpl.Exec "webhook.custom.simple_alerts" .Alerts | data.JSON)
|
||||
"groupLabels" .GroupLabels
|
||||
"commonLabels" .CommonLabels
|
||||
"commonAnnotations" .CommonAnnotations
|
||||
"externalURL" .ExternalURL
|
||||
"version" "1"
|
||||
"orgId" (index .Alerts 0).OrgID
|
||||
"truncatedAlerts" .TruncatedAlerts
|
||||
"groupKey" .GroupKey
|
||||
"state" (tmpl.Inline "{{ if eq .Status \"resolved\" }}ok{{ else }}alerting{{ end }}" . )
|
||||
"allVariables" .Vars
|
||||
"title" (tmpl.Exec "default.title" . )
|
||||
"message" (tmpl.Exec "default.message" . )
|
||||
| data.ToJSONPretty " "}}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Embed json templates in other json templates. */ -}}
|
||||
{{ define "webhook.custom.simple_alerts" -}}
|
||||
{{- $alerts := coll.Slice -}}
|
||||
{{- range . -}}
|
||||
{{ $alerts = coll.Append (coll.Dict
|
||||
"status" .Status
|
||||
"labels" .Labels
|
||||
"startsAt" .StartsAt
|
||||
"endsAt" .EndsAt
|
||||
) $alerts}}
|
||||
{{- end -}}
|
||||
{{- $alerts | data.ToJSON -}}
|
||||
{{- end }}
|
||||
```
|
||||
Reference in New Issue
Block a user