Это руководство поможет вам настроить интеграцию вебхука для отправки оповещений из Dotcom-Monitor в ваши заявки Jira. Dotcom-Monitor использует метод доставки оповещений HTTP Webhook для подключения системы оповещений Dotcom-Monitor и заявок Jira с помощью вебхуковых запросов. Чтобы настроить интеграцию, убедитесь, что у вас есть необходимые разрешения для создания задач в проекте Jira.

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

Сгенерируйте токен API Jira:

  1. Посетите страницу Базовая аутентификация для REST API на портале Atlassian для разработчиков, чтобы узнать, как создать токен API и настроить базовую аутентификацию в Jira.
  2. Сохраните сгенерированный API-токен для использования в заголовке авторизации в Dotcom-Monitor.

Настройка вебхука в dotcom-monitor

При использовании запросов API, особенно с заголовками аутентификации, JIRA иногда требуется дополнительный заголовок для обхода защиты от CSRF. Чтобы решить эту проблему, включите заголовок X-Atlassian-Token со значением no-check в запрос вебхука.

  1. Войдите в свою учетную запись Dotcom-Monitor и перейдите к настройке групп адресов доставки (Manage > Delivery Address Group).
  2. Создайте новую группу или откройте существующую для редактирования. Добавьте вебхук в качестве адреса доставки. Ознакомьтесь со статьей Интеграция вебхука HTTP , чтобы узнать, как отправлять предупреждающие сообщения Dotcom-Monitor на выделенный URL-адрес вебхука.
  3. В поле URL вебхука введите: https://your-domain.atlassian.net/rest/api/3/issue
  4. Установите для параметра Тип запроса значение POST.
  5. Оставьте раздел Аутентификация пустым.
  6. В разделе Заголовки добавьте следующие заголовки. Убедитесь, что BASE64 закодировал строку useremail:api_token :
    • Авторизация: Basic [useremail:api_token]
    • Тип содержимого: application/json
    • X-Atlassian-токен: no-check
  7. В поле Полезная нагрузка введите структуру данных JSON, которая будет отправлена в Jira. Вот пример полезной нагрузки:
    @{
    string _text = "";
    foreach (var sessionResponse in Model.SessionResponses)
    {
        foreach (var response in sessionResponse.Children)
        {
            _text += "Task Type: " + response.Task.TaskType_Name + ", " +
                     "Details Url: " + Model.DMUserLink + "/client/response-details/hit?id=" + response.ID + "&rootId=" + Model.RootResponse.ID + "&cuid=" + Model.OnlineReportCUID + ", " +
                     "View Task Url: " + Model.DMUserLink + "/v2/EditLegacyTask/" + response.Device.ID + "/" + response.Task.ID + ", " +
                     "Task Name: " + response.Name + ", " +
                     "Target: " + response.Target + ", ";
    
            if (response.AllErrors != null)
            {
                foreach (var error in response.AllErrors)
                {
                    _text += error.ErrorType + " (" + error.ErrorCode + ") " + error.Reason;
                }
            }
        }
    }
    }
    {
      "fields": {
        "project": {
          "key": "JIRA_PROJECT_KEY"
        },
        "summary": "Alert from Dotcom-Monitor",
        "description": {
          "type": "doc",
          "version": 1,
          "content": [
            {
              "type": "paragraph",
              "content": [
                {
                  "text":"@_text",
                  "type": "text"
                }
              ]
            }
          ]
        },
        "issuetype": {
          "name": "Task"
        },
        "components": [
          {
            "name": "Default Component"
          }
        ]
      }
    }
    
  8. Замените "PROJECT_KEY" его ключом вашего проекта Jira.

Тестирование вебхука

После того, как интеграция вебхука настроена, мы рекомендуем протестировать ваше устройство мониторинга, отправив тестовое оповещение:

  1. В списке устройств наведите указатель мыши на устройство мониторинга, которое вы хотите протестировать.
  2. Щелкните меню Параметры (⋮) > Отправить тестовое предупреждение > вниз.
  3. Проверьте свой проект Jira, чтобы узнать, был ли создан новый тикет.

Использование динамических переменных в шаблоне предупреждения

Если вам нужно включить динамические переменные Dotcom-Monitor в полезную нагрузку JSON, ознакомьтесь со статьей Добавление динамических переменных в шаблон оповещения . Если у вас возникнут какие-либо проблемы или у вас возникнут особые требования, обратитесь в службу поддержки Dotcom-Monitor за дополнительной помощью.