Webhooks JIRA Service Desk

Когда вы создаете правило автоматизации, вы можете использовать действие webhook THEN для отправки событий службы JIRA Service Desk сторонним приложениям и надстройкам. Например, вы можете использовать webhook для оповещения о вашем удаленном приложении, когда SLA вот-вот будет нарушено. Когда вы используете webhook, вашему удаленному приложению не нужно периодически опрошивать JIRA Service Desk, чтобы узнать, произошли ли изменения.

Webhook - это определяемый пользователем обратный вызов через HTTP. В JIRA Service Desk конфигурация webhook встроена в настройки автоматизации. На этой странице описано, как работает webhook, и показано, как его настроить.

Функция webhooks службы JIRA Service Desk доступна в облаке JIRA  и JIRA Server (версии 3.2 или более поздней).

 

Обзор

webhooks службы JIRA Service Desk является ТОГДА(THEN ) действием в правиле автоматизации. Когда вы настраиваете правило, вы можете указать WHENs и IFs, а затем использовать webhook для определения своего действия. Например, на этом изображении показано правило, которое использует webhook для поддержки второго уровня, когда SLA «Время до разрешения» вот-вот прорвется:

РИСУНОК

Добавление webhook в правило автоматизации

  1. Перейдите к настройкам проекта> Автоматизация, затем создайте пользовательское правило или отредактируйте существующее правило.
  2. Настройте параметры WHEN и IF по желанию, затем добавьте действие THEN и выберите Webhook.

РИСУНОК

  1. Настройте параметры webhook, назовите свое правило и сохраните его.

Настройки Webhook

  • URL-адрес. В облаке службы JIRA Service Desk используйте порт 80 для URL «http: //» и порт 443 для URL «https: //».
  • Полезная нагрузка JIRA - если вы выберете отправку полезной нагрузки задач JIRA в опции тела запроса(request), объект JSON, содержащий сведения о задаче, прикреплен к телу запроса(request). Форма полезной нагрузки JSON выглядит следующим образом:

{
    "issue" : {
        "id": "18001",
        "self": "https://mycompany.atlassian.net/rest/api/2/issue/18001",
        "key": "IT-4",
        "fields": {
            "summary" : "I cannot get my second screen to work",
            "description" : "Have tried multiple ports, cables, but no luck",
            "status" : {
                "name" : "Waiting for Support",
                ...
            },
            "reporter" : {
                "name" : "jsmith",
                ...
            },
            ...
        }
    },
    "timestamp" : 1462941258113 // Time when webhook was fired - UTC milliseconds from epoch
}

Для получения дополнительной информации о форме задачи см. Конечную точкуполучения задачи API-интерфейса JIRA REST. Обратите внимание, что расширение параметров не применимо к JIRA Service Desk Webhook.

Информация о задаче в полезной нагрузке генерируется пользователем, который запускает правило автоматизации. Этот пользователь может быть настроен как Project Default или пользователь, который запускает правило. Если у пользователя нет разрешения на просмотр некоторых полей, то эти значения не отображаются. Дополнительную информацию см. в разделе «Автоматизация службы поддержки».

Выполнение Webhook

  • Метод запроса. Когда срабатывает действие webHook THEN, JIRA запускает HTTP POST-запрос(request) к настроенному вами URL-адресу.
  • Критерии успеха и тайм-аут - HTTP POST-запрос webhook считается успешным, если сервер возвращает ответ с диапазоном кода состояния 200 (включительно) до 300 (исключая).

Служба поддержки JIRA ждет 5 секунд, чтобы установить TCP-соединение с сервером webhook, и 20 секунд для ответа после установления соединения. Если запросы webhook не выполняются, служба JIRA Service Desk не повторяет соединение.

  • Асинхронное выполнение webhook - действие webhook THEN выполняется асинхронно. Если в течение короткого периода времени запускается много исполнений, они ставятся в очередь и действуют по одному за раз, не блокируя другие правила автоматизации, которые у вас есть в JIRA Service Desk.

По материалам Atlassian JIRA  Server Developer JIRA Service Desk webhooks