Las plantillas de mensajes de notificación le permiten personalizar los datos de su evento de notificación antes de enviarlos a su destino externo. Las plantillas asignan sus valores personalizados a los valores utilizados por su destino de terceros.
Esto le brinda control total sobre qué datos se enviarán y dónde, además de poder participar plenamente en los servicios que utiliza.
Variables de plantilla de mensaje
Una plantilla de mensaje es lo que se utiliza para convertir los datos del evento New Relic en datos que puede consumir su servicio de terceros. Las variables son atributos específicos que se asignan a campos de datos en su servicio de terceros.
Las plantillas de mensajes están escritas en un lenguaje de plantillas sencillo llamado Manillar. Las variables en las plantillas de mensajes se escriben como expresiones dentro de llaves dobles {{ }}
.
Utilice la plantilla de mensaje de notificación para asignar sus notificaciones de New Relic a los campos de sus servicios externos.
El menú de variables.
Los nombres de las variables de New Relic se enumeran en el menú de variables de la plantilla de mensaje. Las variables se agrupan en subcategorías.
En el menú de variables, escriba {{
para seleccionar de una lista de variables. A medida que escribe, los nombres de las variables aparecen mediante autocompletar. El tipo de variable está escrito en el lado derecho. Si el flujo de trabajo tiene enriquecimientos, aparecerán en la parte superior de la lista luego de escribir {{
.
El menú de variables muestra las opciones que tiene cuando asigna campos de notificación de New Relic a los campos de su servicio externo.
Importante
Las variables específicas del problema, como accumulations.tag.foo
no aparecerán a menos que ya hubo un problema que contenga estos metadatos. Para crear una plantilla de mensaje que los incluya antes de que ocurra un problema, use la declaración#if
que se describe a continuación.
Utilice la sintaxis de manillares
Cuando un evento genera una notificación, la plantilla de mensaje utiliza las variables del manillar para asignar los datos de la notificación a los campos utilizados por su servicio de terceros.
El lenguaje de manillar proporciona muchas características además del reemplazo básico de variables, incluida la evaluación de funciones y objetos de entrada anidados , como iteraciones (bucles), declaraciones condicionales y más. En Manillar, estas funciones se denominan ayudantes. Haga clic aquí para obtener una explicación de las variables utilizadas para el flujo de trabajo.
Funciones auxiliares
Nuestras plantillas de mensajes son compatibles con los asistentes integrados de Manubrios.
Además, hemos agregado otras ayudas que podrían resultarle útiles.
Nuestras funciones auxiliares también se pueden anidar. Aquí hay un ejemplo:
yes1 yes2 no
Ejemplos de uso
Los ejemplos se basan en una variable llamada data
:
"data": { "tags":["infra, team-a"], "id":123456789, "name": "Alice",}
El valor data
tiene un formato equivalente con puntos:
"data.tags": ["infra, team-a"]"data.id": 123456789"data.name": "Alice"
Validar datos
Si id
es igual a 123456789
, entonces el resultado es valid
. Si no, la salida es not valid
.
Si name
es igual a Alice
, entonces el resultado es valid
.
Devolver JSON
Obtenga tags
y las propiedades del objeto en formato JSON:
Esto devolvería el siguiente JSON:
["infra", "team-a"]
Obtener valores de una matriz
Obtenga la primera etiqueta de la matriz tags
:
Esto devolvería el primer valor de la matriz:
"infra"
Iterar a través de una matriz
Itere una variable de tipo matriz y agregue los valores en una cadena:
,
El resultado contiene la etiqueta, separada por comas (se omite la coma final):
infra, team
De manera similar, itere la variable data
, agregue los valores del objeto y genere un elemento JSON:
Esto devolvería un JSON como:
{ "tags": ["infra, team-a"], "name": "Alice", "id": "123456789"}
Itere la variable data
y luego agregue las entradas del objeto a una cadena:
: ,
Esto devolvería una cadena como:
tags: infra,team-a, name: Alice, id: 123456789
Manejar el atributo que falta
En algunos casos, como en el caso de etiquetas que no estaban presentes en números anteriores, es posible que falte un atributo en el menú de variables o que no exista en absoluto.
Podemos usar la instrucción #if
para establecer un respaldo, como por ejemplo:
"N/A"
Esto devolvería la cadena "N/A"
.