Webhook

Настройка интеграций из UI

Создайте канал уведомлений, добавьте в этот канал интеграцию с типом Webhook. Добавьте:

  • Метод отправки

  • URL webhook

  • Токен для авторизации (опционально)

  • Custom headers (опционально)

  • Template Сохраните канал.

Настройка интеграций из файла

- type: "webhook"
  channel:
    settings:
        method: метод              # метод http-запроса (POST, PUT и тд.)
        url: webhook_url           # url, куда будет отправляться запрос
        template: шаблон           # шаблон, который формирует body запроса
        custom_headers: заголовки  # кастомные заголовки (опционально)
        authorization_token: token # токен авторизации (опционально)

Для custom_headers и authorization_token должен передаваться валидный json с экранизированными символами.
Пример шаблона можете увидеть в UI при создании интеграции типа webhook или в примере ниже

Пример:

- type: "webhook"
  channel:
    settings:
        method: "POST"
        url: "http://localhost:8080/webhook"
        template: "{\"subject\":\"{{.Subject}}\",\"message\":\"{{.Message}}\",\"text\":\"{{.Text}}\",\"priority\":{{.Priority}},\"id\":\"{{.ProblemID}}\",\"monitor_id\":\"{{.MonitorID}}\",\"monitor_query\":\"{{.MonitorQuery}}\",\"monitor_name\":\"{{.MonitorName}}\",\"rule_id\":\"{{.RuleID}}\",\"labels_required\":{{marshal .LabelsRequired}},\"labels_absent\":{{marshal .LabelsAbsent}},\"rule_priority\":{{.RulePriority}},\"parameters\":{{marshal .Parameters}},\"metric_id\":\"{{.MetricID}}\",\"metric_labels\":{{marshal .MetricLabels}},\"metric_value\":{{.MetricValue}},\"no_data\":{{.NoData}},\"object_id\":\"{{.ObjectID}}\",\"metric_group\":{{marshal .MetricGroup}},\"state\":\"{{.State}}\",\"prev_state\":\"{{.PrevState}}\",\"resolved\":{{.Resolved}},\"resolved_at\":\"{{.ResolvedAt.Format \"2006-01-02T15:04:05Z07:00\"}}\",\"created_at\":\"{{.ProblemCreatedAt.Format \"2006-01-02T15:04:05Z07:00\"}}\",\"updated_at\":\"{{.ProblemUpdatedAt.Format \"2006-01-02T15:04:05Z07:00\"}}\",\"owner\":\"{{.Owner}}\",\"number_of_notifications\":{{.NumberOfNotifications}},\"count\":{{.Count}}}"
        custom_headers: "{\"subject\":\"123\",\"message\":\"456\"}"
        authorization_token: "12345"