

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Personalización de las notificaciones
<a name="v10-alerting-manage-notifications"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Personalice sus notificaciones con plantillas de notificaciones.

Puede usar plantillas de notificaciones para cambiar el título, el mensaje y el formato del mensaje de sus notificaciones.

Las plantillas de notificaciones no están vinculadas a integraciones de puntos de contacto específicas, como Amazon SNS o Slack. Sin embargo, puede optar por crear plantillas de notificaciones independientes para las distintas integraciones de puntos de contacto.

Puede utilizar las plantillas de notificaciones para:
+ Agregar, eliminar o reordenar la información de la notificación, incluidos el resumen, la descripción, las etiquetas y anotaciones, los valores y los enlaces
+ Formatear el texto en negrita y cursiva y agregar o eliminar saltos de línea

No puede utilizar las plantillas de notificaciones para:
+ Cambiar el diseño de las notificaciones en los servicios de mensajería instantánea como Slack y Microsoft Teams

**Topics**
+ [Uso del lenguaje de creación de plantillas de Go](v10-alerting-notifications-go-templating.md)
+ [Creación de plantillas de notificaciones](v10-alerting-create-templates.md)
+ [Uso de plantillas de notificaciones](#v10-alerting-use-notification-templates)
+ [Referencia de la plantilla](v10-alerting-template-reference.md)

# Uso del lenguaje de creación de plantillas de Go
<a name="v10-alerting-notifications-go-templating"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Las plantillas de notificaciones se escriben en el lenguaje de plantillas de Go, [texto/plantilla](https://pkg.go.dev/text/template).

En esta sección se proporciona información general sobre el lenguaje de creación de plantillas de Go y las plantillas de escritura en texto/plantilla.

## Punto
<a name="v10-go-dot"></a>

Dentro text/template hay un cursor especial llamado punto, y se escribe como`.`. Puede pensar en este cursor como una variable cuyo valor cambia según el lugar de la plantilla en el que se utilice. Por ejemplo, al principio de una plantilla de notificación `.` hace referencia al objeto `ExtendedData`, que contiene varios campos, entre los que se incluyen `Alerts`, `Status`, `GroupLabels`, `CommonLabels`, `CommonAnnotations` y `ExternalURL`. Sin embargo, el punto puede hacer referencia a otra cosa cuando se usa en un `range` sobre una lista, cuando se usa dentro de `with` o cuando se escriben plantillas de características que se van a usar en otras plantillas. Puede ver ejemplos de esto en [Creación de plantillas de notificaciones](v10-alerting-create-templates.md) y todos los datos y funciones en la [Referencia de la plantilla](v10-alerting-template-reference.md).

## Etiquetas de apertura y cierre
<a name="v10-go-openclosetags"></a>

En texto/plantilla, las plantillas comienzan por `{{` y terminan en `}}`, independientemente de si la plantilla imprime una variable o ejecuta estructuras de control, como las instrucciones if. Se diferencia en esto de otros lenguajes de creación de plantillas, como Jinja, donde la impresión de una variable usa `{{` y `}}`, y las estructuras de control usan `{%` y `%}`.

## Print (Imprimir)
<a name="v10-go-print"></a>

Para imprimir el valor de algo, use `{{` y `}}`. Puede imprimir el valor de un punto, un campo de punto, el resultado de una función y el valor de una [variable](#v10-go-variables). Por ejemplo, para imprimir el campo `Alerts` donde el punto hace referencia a `ExtendedData`, escribiría lo siguiente:

```
{{ .Alerts }}
```

## Iteración en alertas
<a name="v10-go-iterate-alerts"></a>

Para imprimir solo las etiquetas de cada alerta, en lugar de toda la información sobre la alerta, puede usar `range` para iterar las alertas en `ExtendedData`:

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
```

Dentro del rango, el punto ya no hace referencia a `ExtendedData`, sino a una `Alert`. Puede utilizar `{{ .Labels }}` para imprimir las etiquetas de cada alerta. Esto funciona porque `{{ range .Alerts }}` cambia el punto para hacer referencia a la alerta actual de la lista de alertas. Cuando el rango finaliza, el punto se restablece al valor que tenía antes del inicio del rango, que en este ejemplo es `ExtendedData`:

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
{{/* does not work, .Labels does not exist here */}}
{{ .Labels }}
{{/* works, cursor was reset */}}
{{ .Status }}
```

## Iteración en anotaciones y etiquetas
<a name="v10-go-iterate-labels"></a>

Vamos a escribir una plantilla para imprimir las etiquetas de cada alerta en el formato `The name of the label is $name, and the value is $value`, donde `$name` y `$value` contienen el nombre y el valor de cada etiqueta.

Como en el ejemplo anterior, utilice un rango para recorrer las alertas en iteración en `.Alerts` de forma que el punto haga referencia a la alerta actual de la lista de alertas y, a continuación, utilice un segundo rango en las etiquetas ordenadas para que el punto se actualice por segunda vez para hacer referencia a la etiqueta actual. Dentro del segundo rango, utilice `.Name` e `.Value` para imprimir el nombre y el valor de cada etiqueta:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
The name of the label is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ range .Annotations.SortedPairs }}
The name of the annotation is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ end }}
```

## Las funciones de índice
<a name="v10-go-index"></a>

Para imprimir una anotación o etiqueta específica, utilice la función `index`.

```
{{ range .Alerts }}
The name of the alert is {{ index .Labels "alertname" }}
{{ end }}
```

## Instrucciones if
<a name="v10-go-if"></a>

Puede usar las instrucciones if en las plantillas. Por ejemplo, para imprimir `There are no alerts` si no hay alertas, en `.Alerts` escribiría lo siguiente:

```
{{ if .Alerts }}
There are alerts
{{ else }}
There are no alerts
{{ end }}
```

## With
<a name="v10-go-with"></a>

With es similar a las instrucciones if, pero a diferencia de las instrucciones if, `with` actualiza el punto para hacer referencia al valor de las instrucciones with:

```
{{ with .Alerts }}
There are {{ len . }} alert(s)
{{ else }}
There are no alerts
{{ end }}
```

## Variables
<a name="v10-go-variables"></a>

Las variables text/template deben crearse dentro de la plantilla. Por ejemplo, para crear una variable llamada `$variable` con el valor actual de punto, escribiría lo siguiente:

```
{{ $variable := . }}
```

Puede usar `$variable` dentro de un rango o `with` y hará referencia al valor del punto en el momento en que se definió la variable, no al valor actual del punto.

Por ejemplo, no puede escribir una plantilla que use `{{ .Labels }}` en el segundo rango porque aquí el punto hace referencia a la etiqueta actual, no a la alerta actual:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* does not work because in the second range . is a label not an alert */}}
There are {{ len .Labels }}
{{ end }}
{{ end }}
```

Para solucionar este problema, defina una variable llamada `$alert` en el primer rango y antes del segundo rango:

```
{{ range .Alerts }}
{{ $alert := . }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* works because $alert refers to the value of dot inside the first range */}}
There are {{ len $alert.Labels }}
{{ end }}
{{ end }}
```

## Intervalo con índice
<a name="v10-go-rangeindex"></a>

Para poder obtener el índice de cada alerta de un rango, defina las variables de índice y valor al principio del rango:

```
{{ $num_alerts := len .Alerts }}
{{ range $index, $alert := .Alerts }}
This is alert {{ $index }} out of {{ $num_alerts }}
{{ end }}
```

## Definición de plantillas
<a name="v10-go-define"></a>

Puede definir plantillas que se puedan usar en de otras plantillas mediante `define` y el nombre de la plantilla entre comillas dobles. No debe definir plantillas con el mismo nombre que otras plantillas, incluidas las plantillas predeterminadas, como `__subject`, `__text_values_list`, `__text_alert_list`, `default.title` y `default.message`. Si se ha creado una plantilla con el mismo nombre que una plantilla predeterminada, o una plantilla en otra plantilla de notificaciones, Grafana puede utilizar cualquiera de las dos. Grafana no impide ni muestra ningún mensaje de error cuando hay dos o más plantillas con el mismo nombre.

```
{{ define "print_labels" }}
{{ end }}
```

## Ejecución de plantillas
<a name="v10-go-execute"></a>

Puede ejecutar una plantilla definida en su plantilla mediante `template`, el nombre de la plantilla entre comillas dobles y el cursor que se debe pasar a la plantilla:

```
{{ template "print_labels" . }}
```

## Paso de datos a las plantillas
<a name="v10-go-passdata"></a>

En una plantilla, un punto hace referencia al valor que se pasa a la plantilla.

Por ejemplo, si a una plantilla se le pasa una lista de alertas de activación, el punto se refiere a esa lista de alertas de activación:

```
{{ template "print_alerts" .Alerts }}
```

Si a la plantilla se le pasan las etiquetas ordenadas de una alerta, el punto hace referencia a la lista de etiquetas ordenadas:

```
{{ template "print_labels" .SortedLabels }}
```

Resulta útil a la hora de escribir plantillas reutilizables. Por ejemplo, para imprimir todas las alertas, puede escribir lo siguiente:

```
{{ template "print_alerts" .Alerts }}
```

Luego, para imprimir solo las alertas de activación, puede escribir lo siguiente:

```
{{ template "print_alerts" .Alerts.Firing }}
```

Esto funciona porque `.Alerts` y `.Alerts.Firing` son listas de alertas.

```
{{ define "print_alerts" }}
{{ range . }}
{{ template "print_labels" .SortedLabels }}
{{ end }}
{{ end }}
```

## Comentarios
<a name="v10-go-comments"></a>

Puede agregar comentarios con `{{/*` y `*/}}`:

```
{{/* This is a comment */}}
```

Para evitar que los comentarios agreguen saltos de línea, utilice:

```
{{- /* This is a comment with no leading or trailing line breaks */ -}}
```

## Sangría
<a name="v10-go-indentation"></a>

Puede usar sangrías, tanto tabulaciones como espacios, y saltos de línea para que las plantillas sean más legibles:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Sin embargo, la sangría de la plantilla también estará presente en el texto. A continuación, veremos cómo eliminarlo.

## Eliminación de espacios y saltos de línea
<a name="v10-go-removespace"></a>

En text/template uso `{{-` y `-}}` para eliminar los espacios iniciales y finales y los saltos de línea.

Por ejemplo, cuando se utilizan sangrías y saltos de línea para hacer que una plantilla sea más legible:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

La sangría y los saltos de línea también estarán presentes en el texto:

```
    alertname = "Test"

    grafana_folder = "Test alerts"
```

Para poder eliminar las sangrías y los saltos de línea del texto, cambie `}}` por `-}}` al principio de cada rango:

```
{{ range .Alerts -}}
  {{ range .Labels.SortedPairs -}}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Las sangrías y los saltos de línea de la plantilla ya no aparecen en el texto:

```
alertname = "Test"
grafana_folder = "Test alerts"
```

# Creación de plantillas de notificaciones
<a name="v10-alerting-create-templates"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

Cree plantillas de notificaciones reutilizables para enviarlas a los puntos de contacto.

Puede agregar una o más plantillas a la plantilla de notificaciones.

El nombre de la plantilla de notificación debe ser exclusivo. No puede haber dos plantillas con el mismo nombre en la misma plantilla de notificación o en plantillas de notificación distintas. Evite definir plantillas con el mismo nombre que las plantillas predeterminadas, como: `__subject`, `__text_values_list`, `__text_alert_list`, `default.title` y `default.message`.

En la pestaña Puntos de contacto, puede ver una lista de las plantillas de notificaciones.

## Creación de plantillas de notificaciones
<a name="v10-alerting-creating-templates"></a>

**Creación de una plantilla de notificaciones**

1. Elija **Alertas**, **Puntos de contacto**.

1. Elija la pestaña **Plantillas de notificaciones** y, a continuación, **\$1 Agregar plantilla de notificación**.

1. Elija un nombre para la plantilla de notificaciones, como `email.subject`.

1. Escriba el contenido de la plantilla en el campo de contenido.

   Por ejemplo:

   ```
   {{ if .Alerts.Firing -}}
      {{ len .Alerts.Firing }} firing alerts
      {{ end }}
      {{ if .Alerts.Resolved -}}
      {{ len .Alerts.Resolved }} resolved alerts
      {{ end }}
   ```

1. Guarde los cambios.

   `{{ define "email.subject" }}` (donde `email.subject` es el nombre de la plantilla) y `{{ end }}` se agrega automáticamente al inicio y fin del contenido.

**Creación de una plantilla de notificaciones que contenga más de una plantilla**

1. Elija **Alertas**, **Puntos de contacto**.

1. Elija la pestaña **Plantillas de notificaciones** y, a continuación, **\$1 Agregar plantilla de notificación**.

1. Ingrese un nombre para la plantilla de notificaciones general. Por ejemplo, `email`.

1. Escriba cada plantilla en el campo Contenido, lo que incluye `{{ define "name-of-template" }}` y `{{ end }}` al inicio y fin de cada plantilla. Puede utilizar nombres descriptivos para cada una de las plantillas de la plantilla de notificaciones, por ejemplo, `email.subject` o `email.message`. En este caso, no vuelva a utilizar el nombre de la plantilla de notificaciones que ingresó anteriormente.

   En las secciones posteriores se muestran ejemplos detallados de las plantillas que podría crear.

1. Haga clic en Guardar.

## Vista previa de plantillas de notificaciones
<a name="v10-alerting-preview-templates"></a>

Obtenga una vista previa del aspecto que tendrán las plantillas de notificaciones antes de utilizarlas en los puntos de contacto, lo que ayudará a comprender el resultado de la plantilla que va a crear y le permitirá corregir cualquier error antes de guardarla.

**nota**  
Las vistas previas de las notificaciones solo están disponibles para Grafana Alertmanager.

**Vista previa de las plantillas de notificaciones**

1. Elija **Alertas**, **Puntos de contacto**.

1. Elija la pestaña **Plantillas de notificaciones** y, a continuación, **\$1 Agregar plantilla de notificaciones** o edite una plantilla existente.

1. Agregue o actualice el contenido de la plantilla.

   Se proporcionan los datos predeterminados y puede agregar o editar los datos de alertas, así como las instancias de alertas. Puede agregar los datos de alertas directamente en la propia ventana de datos de carga útil o hacer clic en **Seleccionar instancias de alertas** o **Agregar alertas personalizadas**.

1. [Opcional] Para agregar datos de alertas de instancias de alertas existentes:

   1. Elija **Seleccionar instancias de alertas**.

   1. Pase el ratón sobre las instancias de alertas para ver más información acerca de cada instancia de alertas.

   1. Elija **Confirmar** para agregar la instancia de alertas a la carga útil.

1. [Opcional] Para agregar datos de alertas mediante el editor de datos de alertas, elija **Agregar datos personalizados**:

   1. Agregue anotaciones, etiquetas personalizadas o establezca un panel de control o panel.

   1. Seleccione Activar o Resuelta, en función de si quiere agregar alertas resueltas o de activación a la notificación.

   1. Elija **Agregar datos de alerta**.

   1. Elija **Actualizar vista previa** para ver cómo se verá el contenido de la plantilla y los datos de carga útil correspondientes.

   Si hay algún error en la plantilla, se mostrará en la vista previa y podrá corregirlo antes de guardarlo.

1. Guarde los cambios.

## Creación de una plantilla para el asunto del mensaje
<a name="v10-alerting-create-template-subject"></a>

Cree una plantilla para el asunto de un correo electrónico que contenga el número de alertas resueltas y de activación, como en este ejemplo:

```
1 firing alerts, 0 resolved alerts
```

**Creación de una plantilla para el asunto de un correo electrónico**

1. Cree una plantilla denominada `email.subject` con el siguiente contenido:

   ```
   {{ define "email.subject" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Para utilizar la plantilla al crear la integración del punto de contacto, colóquela en el campo **Asunto** con la palabra clave `template`.

   ```
   {{ template "email.subject" . }}
   ```

## Creación de una plantilla para el mensaje de un correo electrónico
<a name="v10-alerting-create-template-message"></a>

Cree una plantilla para el mensaje de un correo electrónico que contenga un resumen de todas las alertas resueltas y de activación, como en este ejemplo:

```
There are 2 firing alerts, and 1 resolved alerts

Firing alerts:

- alertname=Test 1 grafana_folder=GrafanaCloud has value(s) B=1
- alertname=Test 2 grafana_folder=GrafanaCloud has value(s) B=2

Resolved alerts:

- alertname=Test 3 grafana_folder=GrafanaCloud has value(s) B=0
```

**Creación de una plantilla para el mensaje de un correo electrónico**

1. Cree una plantilla de notificaciones denominada `email` con dos plantillas en el contenido: `email.message_alert` y `email.message`.

   La plantilla `email.message_alert` se utiliza para imprimir las etiquetas y los valores de cada alerta resuelta y de activación, mientras que la plantilla `email.message` contiene la estructura del correo electrónico.

   ```
   {{- define "email.message_alert" -}}
   {{- range .Labels.SortedPairs }}{{ .Name }}={{ .Value }} {{ end }} has value(s)
   {{- range $k, $v := .Values }} {{ $k }}={{ $v }}{{ end }}
   {{- end -}}
   
   {{ define "email.message" }}
   There are {{ len .Alerts.Firing }} firing alerts, and {{ len .Alerts.Resolved }} resolved alerts
   
   {{ if .Alerts.Firing -}}
   Firing alerts:
   {{- range .Alerts.Firing }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ if .Alerts.Resolved -}}
   Resolved alerts:
   {{- range .Alerts.Resolved }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ end }}
   ```

1. Para utilizar la plantilla al crear la integración del punto de contacto, colóquela en el campo **Cuerpo del texto** con la palabra clave `template`.

   ```
   {{ template "email.message" . }}
   ```

## Creación de una plantilla para el título de un mensaje de Slack
<a name="v10-alerting-create-template-slack-title"></a>

Cree una plantilla para el título de un mensaje de Slack que contenga el número de alertas resueltas y de activación, como en el siguiente ejemplo:

```
1 firing alerts, 0 resolved alerts
```

**Creación de una plantilla para el título de un mensaje de Slack**

1. Cree una plantilla denominada `slack.title` con el siguiente contenido:

   ```
   {{ define "slack.title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Ejecute la plantilla desde el campo de título de la integración del punto de contacto.

   ```
   {{ template "slack.title" . }}
   ```

## Creación de una plantilla para el contenido de un mensaje de Slack
<a name="v10-alerting-create-template-slack-message"></a>

Cree una plantilla para el contenido de un mensaje de Slack que contenga una descripción de todas las alertas resueltas y de activación, lo que incluye sus etiquetas, anotaciones y la URL del panel.

**nota**  
Esta plantilla es solo para alertas administradas por Grafana. Para usar la plantilla para las alertas administradas por el origen de datos, elimine las referencias a DashboardURL y SilenceURL. Para más información acerca de la configuración de las notificaciones de Prometheus, consulte la [documentación de Prometheus acerca de las notificaciones](https://prometheus.io/docs/alerting/latest/notifications/).

```
1 firing alerts:

[firing] Test1
Labels:
- alertname: Test1
- grafana_folder: GrafanaCloud
Annotations:
- description: This is a test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1

1 resolved alerts:

[firing] Test2
Labels:
- alertname: Test2
- grafana_folder: GrafanaCloud
Annotations:
- description: This is another test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1
```

**Creación de una plantilla para el contenido de un mensaje de Slack**

1. Cree una plantilla denominada `slack` con dos plantillas en el contenido: `slack.print_alert` y `slack.message`.

   La plantilla `slack.print_alert` se utiliza para imprimir las etiquetas, las anotaciones y DashboardURL, mientras que la plantilla `slack.message` contiene la estructura de la notificación.

   ```
   {{ define "slack.print_alert" -}}
   [{{.Status}}] {{ .Labels.alertname }}
   Labels:
   {{ range .Labels.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ if .Annotations -}}
   Annotations:
   {{ range .Annotations.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ end -}}
   {{ if .DashboardURL -}}
     Go to dashboard: {{ .DashboardURL }}
   {{- end }}
   {{- end }}
   
   {{ define "slack.message" -}}
   {{ if .Alerts.Firing -}}
   {{ len .Alerts.Firing }} firing alerts:
   {{ range .Alerts.Firing }}
   {{ template "slack.print_alert" . }}
   {{ end -}}
   {{ end }}
   {{ if .Alerts.Resolved -}}
   {{ len .Alerts.Resolved }} resolved alerts:
   {{ range .Alerts.Resolved }}
   {{ template "slack.print_alert" .}}
   {{ end -}}
   {{ end }}
   {{- end }}
   ```

1. Ejecute la plantilla desde el campo del cuerpo del texto de la integración del punto de contacto:

   ```
   {{ template "slack.message" . }}
   ```

## Creación de plantillas para correo electrónico y Slack con plantillas compartidas
<a name="v10-alerting-create-shared-templates"></a>

En lugar de crear plantillas de notificaciones independientes para cada punto de contacto, como el correo electrónico y Slack, puede compartir la misma plantilla.

Por ejemplo, si quiere enviar un correo electrónico con este asunto y un mensaje de Slack con este título `1 firing alerts, 0 resolved alerts`, puede crear una plantilla compartida.

**Creación de una nueva plantilla compartida**

1. Cree una plantilla denominada `common.subject_title` con el siguiente contenido:

   ```
   {{ define "common.subject_title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. Para el correo electrónico, ejecuta la plantilla desde el campo de asunto de la integración del punto de contacto de correo electrónico:

   ```
   {{ template "common.subject_title" . }}
   ```

1. En el caso de Slack, ejecuta la plantilla desde el campo de título de la integración de puntos de contacto de Slack:

   ```
   {{ template "common.subject_title" . }}
   ```

## Uso de plantillas de notificaciones
<a name="v10-alerting-use-notification-templates"></a>

Use las plantillas en los puntos de contacto para personalizar sus notificaciones.

**Uso de una plantilla al crear un punto de contacto**

1. En el menú **Alertas**, elija la pestaña **Puntos de contacto** para ver una lista de los puntos de contacto existentes.

1. Elija **Nuevo**. Como alternativa, para poder editar un punto de contacto existente, pulse el icono **Editar**.

1. Ingrese las plantillas que desea utilizar en un campo, como **Mensaje** o **Asunto**. Para introducir una plantilla, utilice el formulario y `{{ template "template_name" . }}` *template\$1name* sustitúyalo por el nombre de la plantilla que desee utilizar.

1. Elija **Guardar punto de contacto**.

# Referencia de la plantilla
<a name="v10-alerting-template-reference"></a>

****  
Este tema de documentación está diseñado para los espacios de trabajo de Grafana que admiten la **versión 10.x de Grafana**.  
Para los espacios de trabajo de Grafana que admiten la versión 9.x de Grafana, consulte [Uso de la versión 9 de Grafana](using-grafana-v9.md).  
Para los espacios de trabajo de Grafana que admiten la versión 8.x de Grafana, consulte [Uso de la versión 8 de Grafana](using-grafana-v8.md).

En esta sección se proporciona información de referencia para crear plantillas.

**Alerta (tipo)**

El tipo de alerta contiene los datos siguientes.


| Name | Tipo | Description (Descripción) | Ejemplo | 
| --- | --- | --- | --- | 
|  Status  |  cadena  |  `firing` o bien `resolved`.  | \$1\$1 .Status \$1\$1 | 
|  Etiquetas  |  KeyValue  |  Un conjunto de etiquetas adjunto a la alerta.  | \$1\$1 .Labels \$1\$1 | 
|  Anotaciones  |  KeyValue  |  Un conjunto de anotaciones adjunto a la alerta.  | \$1\$1 .Annotations \$1\$1 | 
| Valores | KeyValue | Valores de todas las expresiones, incluidas las condiciones clásicas | \$1\$1 .Values \$1\$1 | 
|  StartsAt  |  time.Time  |  Hora en que la alerta empezó a activarse.  | \$1\$1 .StartsAt \$1\$1 | 
|  EndsAt  |  time.Time  |  Se establece solo si se conoce la hora de finalización de una alerta. De lo contrario, se establece en un periodo de tiempo de espera configurable a partir del momento en que se recibió la última alerta.  | \$1\$1 .EndsAt \$1\$1 | 
|  GeneratorURL  |  cadena  |  Enlace para volver a Grafana o a una instancia externa de Alertmanager.  | \$1\$1 .GeneratorURL \$1\$1 | 
|  SilenceURL  |  cadena  |  Un enlace para silenciar la alerta (con las etiquetas de esta alerta rellenadas previamente). Solo para alertas administradas por Grafana.  | \$1\$1 .SilenceURL\$1\$1 | 
|  DashboardURL  |  cadena  |  Enlace al panel de control de Grafana, si la regla de alerta pertenece a uno. Solo para alertas administradas por Grafana.  | \$1\$1 .DashboardURL \$1\$1 | 
|  PanelURL  |  cadena  |  Enlace al panel de paneles de control de Grafana, si la regla de alerta pertenece a uno. Solo para alertas administradas por Grafana.  | \$1\$1 .PanelURL \$1\$1 | 
|  Huella digital  |  cadena  |  Huella digital que se puede utilizar para identificar la alerta.  | \$1\$1 .Fingerprint \$1\$1 | 
|  ValueString  |  cadena  |  Una cadena que contiene las etiquetas y el valor de cada expresión reducida de la alerta.  | \$1\$1 .ValueString \$1\$1 | 

 **ExtendedData**

El ExtendedData objeto contiene las siguientes propiedades.


| Name | Tipo | Description (Descripción) | Ejemplo | 
| --- | --- | --- | --- | 
|  Receptor  |  `string`  |  El nombre del punto de contacto que envía la notificación.  |  `{{ .Receiver }}`  | 
|  Status  |  `string`  |  El estado es `firing` si se activa al menos una alerta, de lo contrario `resolved`.  |  `{{ .Status }}`  | 
|  Alertas  |  `[]Alert`  |  Lista de todas las alertas en activación y resueltas de esta notificación.  |  `There are {{ len .Alerts }} alerts`  | 
|  Alertas en activación  |  `[]Alert`  |  Lista de todas las alertas en activación de esta notificación.  |  `There are {{ len .Alerts.Firing }} firing alerts`  | 
|  Alertas resueltas  |  `[]Alert`  |  Lista de todas las alertas resueltas de esta notificación.  |  `There are {{ len .Alerts.Resolved }} resolved alerts`  | 
|  GroupLabels  |  `KeyValue`  |  Etiquetas que agrupan estas alertas en esta notificación.  |  `{{ .GroupLabels }}`  | 
|  CommonLabels  |  `KeyValue`  |  Etiquetas comunes a todas las alertas incluidas en esta notificación.  |  `{{ .CommonLabels }}`  | 
|  CommonAnnotations  |  `KeyValue`  |  Anotaciones comunes a todas las alertas de esta notificación.  |  `{{ .CommonAnnotations }}`  | 
|  ExternalURL  |  `string`  |  Un enlace al espacio de trabajo de Grafana o al Alertmanager que envió esta notificación.  |  `{{ .ExternalURL }}`  | 

**KeyValue type**

El `KeyValue` tipo es un conjunto de pares de key/value cadenas que representan etiquetas y anotaciones.

Además del acceso directo a los datos almacenados como `KeyValue`, también hay métodos para ordenar, eliminar y transformar los datos.


| Name | Argumentos | Devuelve | Notas | Ejemplo | 
| --- | --- | --- | --- | --- | 
|  SortedPairs  |    |  Lista ordenada de pares de cadenas de claves y valores  |    | `{{ .Annotations.SortedPairs }}` | 
|  Quitar  |  []string  |  KeyValue  |  Devuelve una copia del Key/Value mapa sin las claves indicadas.  | `{{ .Annotations.Remove "summary" }}` | 
|  Nombres  |    |  []string  |  Lista de nombres  | `{{ .Names }}` | 
|  Valores  |    |  []string  |  Lista de valores  | `{{ .Values }}` | 

**Tiempo**

El tiempo proviene del paquete [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time) de Go. Puede imprimir una fecha y hora en varios formatos diferentes. Por ejemplo, para imprimir la fecha y hora a la que se activó una alerta en el formato `Monday, 1st January 2022 at 10:00AM`, escriba la siguiente plantilla:

```
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
```

Puede encontrar una referencia al formato de hora de Go [aquí](https://pkg.go.dev/time#pkg-constants).