Когда вы создаете правило автоматизации, вы можете использовать действие 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 в правило автоматизации
- Перейдите к настройкам проекта> Автоматизация, затем создайте пользовательское правило или отредактируйте существующее правило.
- Настройте параметры WHEN и IF по желанию, затем добавьте действие THEN и выберите Webhook.
РИСУНОК
- Настройте параметры 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