+++ title = "Template data" keywords = ["grafana", "alerting", "guide", "contact point", "templating"] +++ # Template data Template data is passed on to [message templates]({{< relref "./_index.md" >}}) as well as sent as payload to webhook pushes. Name | Type | Notes ------------------|----------|----------------------------------------------------------------- Receiver | string | Name of the contact point that the notification is being sent to. Status | string | `firing` if at least one alert is firing, otherwise `resolved`. Alerts | Alert | List of alert objects that are included in this notification (see below). GroupLabels | KeyValue | Labels these alerts were grouped by. CommonLabels | KeyValue | Labels common to all the alerts included in this notification. CommonAnnotations | KeyValue | Annotations common to all the alerts included in this notification. ExternalURL | string | Back link to the Grafana that sent the notification. If using external Alertmanager, back link to this Alertmanager. The `Alerts` type exposes functions for filtering alerts: * `Alerts.Firing` returns a list of firing alerts. * `Alerts.Resolved` returns a list of resolved alerts. ## Alert Name | Type | Notes -------------|-----------|--------------------------------------------------------------------- Status | string | `firing` or `resolved`. Labels | KeyValue | A set of labels attached to the alert. Annotations | KeyValue | A set of annotations attached to the alert. StartsAt | time.Time | Time the alert started firing. EndsAt | time.Time | Only set if the end time of an alert is known. Otherwise set to a configurable timeout period from the time since the last alert was received. GeneratorURL | string | A back link to Grafana or external Alertmanager. SilenceURL | string | Link to grafana silence for with labels for this alert pre-filled. Only for Grafana managed alerts. DashboardURL | string | Link to grafana dashboard, if alert rule belongs to one. Only for Grafana managed alerts. PanelURL | string | Link to grafana dashboard panel, if alert rule belongs to one. Only for Grafana managed alerts. Fingerprint | string | Fingerprint that can be used to identify the alert. ## KeyValue `KeyValue` is a set of key/value string pairs that represent labels and annotations. Here is an example containing two annotations: ```json { "summary": "alert summary", "description": "alert description" } ``` In addition to direct access of data (labels and annotations) stored as KeyValue, there are also methods for sorting, removing and transforming. Name | Arguments | Returns | Notes ------------|-----------|-----------------------------------------|---------------- SortedPairs | | Sorted list of key & value string pairs | Remove | []string | KeyValue | Returns a copy of the Key/Value map without the given keys. Names | | []string | List of label names Values | | []string | List of label values ## Functions Some functions to transform values are also available, along with [default functions provided by Go templating](https://golang.org/pkg/text/template/#hdr-Functions). Name | Arguments | Returns -------------|------------------------------|---------------------------------------------- title | string | Capitalizes first character of each word. toUpper | string | Converts all characters to upper case. match | pattern, string | Match a string using RegExp. reReplaceAll | pattern, replacement, string | RegExp substitution, unanchored. join | string, []string | Concatenates the elements of the second argument to create a single string. First argument is the separator. safeHtml | string | Marks string as HTML, not requiring auto-escaping. stringSlice | ...string | Returns passed strings as slice of strings.