Modèle de notification Webhook

Un webhook représente une destination de service, où une notification entrante peut être consommée à l'aide d'un programme. Par exemple, une notification entrante concernant un événement peut déclencher une destination webhook vers un microservice dorsal pour agir en fonction du contenu de la notification entrante.

Pour plus d'informations sur la destination du Webhook, voir Webhooks.

Construction d'un modèle de notification webhook

Construire le bloc modèle. Assurez-vous que le modèle est un JSON bien formé qui adhère à la syntaxe et à la sémantique des modèles Handlebars.

Handlebars est un langage de modélisation qui permet de générer du contenu dynamique dans les modèles. Les barres de maintien peuvent être utilisées pour personnaliser les messages de notification en utilisant des variables de modèle et une logique conditionnelle.

Si l'interface utilisateur est utilisée pour créer le modèle, Handlebars est utilisé pour créer la charge utile du corps du modèle. Si l'API/CLI est utilisée pour créer le modèle, la charge utile doit être encodée au format Base64. Reportez-vous au modèle d'exemple pour l'interface utilisateur ou l'API/CLI.

Exemple de modèle de notification UI webhook

{
  {{#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}}"
}

Pour en savoir plus sur l'intégration Handlebars et les différentes aides proposées, voir Intégration Handlebars.

Exemple de modèle de notification de webhook API ou CLI

    {
	"name": "Template for TIP",
	"params": {
		"body": "ewogIHt7I2VxdWFsIGRhdGEuYWxlcnRfZGVmaW5pdGlvbi5zZXZlcml0eSAiQ3JpdGljYWwifX0KCQkic2V2ZXJpdHkiOiAxLAoJe3svZXF1YWx9fQogIHt7I2VxdWFsIGRhdGEuYWxlcnRfZGVmaW5pdGlvbi5zZXZlcml0eSAiSW5mbyJ9fQoJCSJzZXZlcml0eSI6IDIsCgl7ey9lcXVhbH19CiAge3sjZXF1YWwgZGF0YS5hbGVydF9kZWZpbml0aW9uLnNldmVyaXR5ICJFcnJvciJ9fQoJCSJzZXZlcml0eSI6IDIsCgl7ey9lcXVhbH19CiAgImNvbnNvbGUiOiAidG9jIiwKICAidmVyc2lvbiI6ICIxLjAiLAogICJjcm4iOiB7CiAgICAgICJ2ZXJzaW9uIjogInYxIiwKICAgICJjdHlwZSI6ICJwdWJsaWMiLAogICAgImNuYW1lIjogImJsdWVtaXgiLAogICAgInJlc291cmNlX3R5cGUiOiAib2JqZWN0IiwKICAgICJyZXNvdXJjZSI6ICJldmVudC1ub3RpZmljYXRpb25zIiwKICAgICJzZXJ2aWNlX25hbWUiOiAiZXZlbnQtbm90aWZpY2F0aW9ucyIKICAgIH0sCiAgImFsZXJ0X2lkIjogInt7ZGF0YS5hbGVydF9kZWZpbml0aW9uLmlkfX0iLAogICJ0cmliZV9uYW1lIjogIk1vYmlsZSIsCiAgImRpc2FibGVfcGFnZXIiOiAiZmFsc2UiLAogICJzb3VyY2UiOiAie3tzb3VyY2V9fSIsCiAgInRpcF9tc2dfdHlwZSI6ICJjcmVhdGUubm90aWNlIiwKICAic2l0dWF0aW9uIjogInt7aWJtZW5kZWZhdWx0c2hvcnR9fSIsCiAgImN1c3RvbWVyX2ltcGFjdGluZyI6ICJmYWxzZSIsCiAgInJ1bmJvb2tfdG9jX2VuYWJsZWQiOiAiZmFsc2UiLAogICJzaG9ydF9kZXNjcmlwdGlvbiI6ICJ7e2libWVuZGVmYXVsdHNob3J0fX0iLAogICJwcm9kdWN0X3JlYWR5X2NvbXBsaWFuY2UiOiAidHJ1ZSIsCiAgImxvbmdfZGVzY3JpcHRpb24iOiAie3tkYXRhLmFsZXJ0X2RlZmluaXRpb24uZGVzY3JpcHRpb259fSIsCiAgInRpbWVzdGFtcCI6ICJ7e3RpbWV9fSIsCiAgImFsZXJ0X3VpX3VybCI6ICJ7e2RhdGEubGlua3Mudmlld19hbGVydH19IiwKICAicnVuYm9va191cmwiOiAie3tkYXRhLmFsZXJ0X2RlZmluaXRpb24ubWV0YV9sYWJlbHMucnVuYm9va319Igp9"
	},
	"type": "webhook.notification"
    }