Plantilla de notificación Webhook
Un webhook representa un destino de servicio, donde una notificación entrante se puede consumir mediante programación. Por ejemplo, una notificación entrante sobre un evento puede activar un destino webhook a un microservicio backend para actuar en función del contenido de la notificación entrante.
Para más información sobre el destino de los Webhooks, consulte Webhooks.
Construcción de una plantilla de notificación webhook
Construye el bloque de plantilla. Asegúrese de que la plantilla es un JSON bien formado que se adhiere a la sintaxis y la semántica de la plantilla Handlebars.
Handlebars es un lenguaje de plantillas que permite generar contenido dinámico dentro de las plantillas. Los manillares pueden utilizarse para personalizar los mensajes de notificación mediante variables de plantilla y lógica condicional.
Si se utiliza la interfaz de usuario para crear la plantilla, Handlebars se utiliza para crear la carga útil para el cuerpo de la plantilla. Si se utiliza API/CLI para crear la plantilla, la carga útil debe codificarse en el formato Base64. Consulte la plantilla de muestra para UI o API/CLI.
Ejemplo de plantilla de notificación webhook de interfaz de usuario
{
{{#equal data.alert_definition.severity "Critical"}}
"severity": 1,
{{/equal}}
{{#equal data.alert_definition.severity "Info"}}
"severity": 2,
{{/equal}}
{{#equal data.alert_definition.severity "Error"}}
"severity": 2,
{{/equal}}
"console": "toc",
"version": "1.0",
"crn": {
"version": "v1",
"ctype": "public",
"cname": "bluemix",
"resource_type": "object",
"resource": "event-notifications",
"service_name": "event-notifications"
},
"alert_id": "{{data.alert_definition.id}}",
"tribe_name": "Mobile",
"disable_pager": "false",
"source": "{{source}}",
"tip_msg_type": "create.notice",
"situation": "{{ibmendefaultshort}}",
"customer_impacting": "false",
"runbook_toc_enabled": "false",
"short_description": "{{ibmendefaultshort}}",
"product_ready_compliance": "true",
"long_description": "{{data.alert_definition.description}}",
"timestamp": "{{time}}",
"alert_ui_url": "{{data.links.view_alert}}",
"runbook_url": "{{data.alert_definition.meta_labels.runbook}}"
}
Para obtener más información sobre la integración de Handlebars y los distintos ayudantes que ofrece, consulte Integración de Handlebars.
Ejemplo de plantilla de notificación webhook API o CLI
{
"name": "Template for TIP",
"params": {
"body": "ewogIHt7I2VxdWFsIGRhdGEuYWxlcnRfZGVmaW5pdGlvbi5zZXZlcml0eSAiQ3JpdGljYWwifX0KCQkic2V2ZXJpdHkiOiAxLAoJe3svZXF1YWx9fQogIHt7I2VxdWFsIGRhdGEuYWxlcnRfZGVmaW5pdGlvbi5zZXZlcml0eSAiSW5mbyJ9fQoJCSJzZXZlcml0eSI6IDIsCgl7ey9lcXVhbH19CiAge3sjZXF1YWwgZGF0YS5hbGVydF9kZWZpbml0aW9uLnNldmVyaXR5ICJFcnJvciJ9fQoJCSJzZXZlcml0eSI6IDIsCgl7ey9lcXVhbH19CiAgImNvbnNvbGUiOiAidG9jIiwKICAidmVyc2lvbiI6ICIxLjAiLAogICJjcm4iOiB7CiAgICAgICJ2ZXJzaW9uIjogInYxIiwKICAgICJjdHlwZSI6ICJwdWJsaWMiLAogICAgImNuYW1lIjogImJsdWVtaXgiLAogICAgInJlc291cmNlX3R5cGUiOiAib2JqZWN0IiwKICAgICJyZXNvdXJjZSI6ICJldmVudC1ub3RpZmljYXRpb25zIiwKICAgICJzZXJ2aWNlX25hbWUiOiAiZXZlbnQtbm90aWZpY2F0aW9ucyIKICAgIH0sCiAgImFsZXJ0X2lkIjogInt7ZGF0YS5hbGVydF9kZWZpbml0aW9uLmlkfX0iLAogICJ0cmliZV9uYW1lIjogIk1vYmlsZSIsCiAgImRpc2FibGVfcGFnZXIiOiAiZmFsc2UiLAogICJzb3VyY2UiOiAie3tzb3VyY2V9fSIsCiAgInRpcF9tc2dfdHlwZSI6ICJjcmVhdGUubm90aWNlIiwKICAic2l0dWF0aW9uIjogInt7aWJtZW5kZWZhdWx0c2hvcnR9fSIsCiAgImN1c3RvbWVyX2ltcGFjdGluZyI6ICJmYWxzZSIsCiAgInJ1bmJvb2tfdG9jX2VuYWJsZWQiOiAiZmFsc2UiLAogICJzaG9ydF9kZXNjcmlwdGlvbiI6ICJ7e2libWVuZGVmYXVsdHNob3J0fX0iLAogICJwcm9kdWN0X3JlYWR5X2NvbXBsaWFuY2UiOiAidHJ1ZSIsCiAgImxvbmdfZGVzY3JpcHRpb24iOiAie3tkYXRhLmFsZXJ0X2RlZmluaXRpb24uZGVzY3JpcHRpb259fSIsCiAgInRpbWVzdGFtcCI6ICJ7e3RpbWV9fSIsCiAgImFsZXJ0X3VpX3VybCI6ICJ7e2RhdGEubGlua3Mudmlld19hbGVydH19IiwKICAicnVuYm9va191cmwiOiAie3tkYXRhLmFsZXJ0X2RlZmluaXRpb24ubWV0YV9sYWJlbHMucnVuYm9va319Igp9"
},
"type": "webhook.notification"
}