Buff Development
Коннектор

Jira

Data Center, Server и Cloud: две интеграции, их доступы, вебхуки и особенности.

Jira подключается интеграцией из каталога — как и любой другой трекер. Общее поведение (как обращаться, что бот пишет, область видимости, события) описано в «Интеграциях с трекерами»; здесь — только то, что относится именно к Jira.

Обычный тикет: человек упомянул бота в комментарии, бот ответил в том же обсуждении.

Две интеграции, не одна

jirajira-cloud
Для чегоJira Data Center и Server (self-hosted, включая старые версии)Jira Cloud (*.atlassian.net)
ВходPersonal Access Token (Jira 8.14+) или логин и пароль (старее)почта учётной записи + API-токен с id.atlassian.com
Комментарийтекст с разметкой Jiraдокумент (ADF): абзацы и упоминания — узлы, а не текст
ПоискJQL, POST /rest/api/2/searchJQL, GET /rest/api/3/search/jql
Подпись вебхукапроверяетсяCloud не подписывает — пропуском служит секрет в ссылке
Страница витрины/marketplace/jira/marketplace/jira-cloud

Разделять пришлось потому, что у Cloud другой API — вплоть до того, что привычный POST /rest/api/2/search там отвечает «410 Gone». Одна интеграция «на всякий случай» означала бы, что половина её кода не проверена ни на одной установке.

Настройка

Поставьте интеграцию из каталога и создайте подключение. Поля:

Полеjirajira-cloud
Адресhttps://jira.corp.local (с контекстным путём, если он есть)https://ваша-компания.atlassian.net
Ключи проектовPROJ, OPS — те буквы, что стоят перед номером тикетатак же
Учётные данныетокен (или логин и пароль на старых версиях)учётная запись (почта) и API-токен
Псевдонимкороткое имя бота, например buffтак же
Проект разработкипроект в Buff, куда попадают вопросы и задачитак же
Форма строится по схеме, которую интеграция объявляет о себе: коннектор ничего не знает про поля Jira.

Заведите боту отдельную учётную запись и дайте ей доступ только к нужным проектам: права учётной записи — внешняя граница, список ключей проектов — внутренняя. Прав на просмотр и комментирование достаточно; администратором бот быть не должен.

«Проверить связь» отвечает не «ок», а версией и редакцией вашей Jira и учётной записью, под которой агент вошёл, — чтобы было видно, что настроено именно то, что нужно.

Проверка связи: версия, редакция и от чьего имени агент вошёл.

Упоминание бота

Работают три формы:

  • автодополнение Jira — вставит настоящее упоминание (ссылка и уведомление боту);
  • просто текст @buff — для Jira это обычный текст, но бот всё равно ответит;
  • команда через слэш/ask, /research, /task.

В Cloud у учётных записей нет логина: там обращаются к отображаемому имени («@Buff Bot») или к псевдониму из настройки. Регистр не важен.

Ссылка и документ в тикете

Jira умеет хранить ссылки отдельно от комментариев, и интеграция этим пользуется: ссылка на обсуждение или исследование в Buff попадает в блок ссылок тикета, а повторный ответ обновляет ту же ссылку, а не плодит дубликаты. Документ исследования прикладывается вложением к тикету — и в Data Center, и в Cloud, — так что его можно открыть и переслать, не заходя в Buff.

PDF из тикета и экспорт из приложения верстаются независимо и выглядят не одинаково. Содержание одно и то же. Каждая страница подписана колофоном — версией и коммитом кода, на котором готовилось исследование, — чтобы распечатанная копия оставалась опознаваемой.

Вебхуки

Опрос работает всегда; вебхук только ускоряет доставку. Общий порядок такой же, как у других трекеров, адрес в Jira: Администрирование → Система → Вебхуки → Создать вебхук. Отметьте «Issue updated» и «Comment created»; при желании сузьте охват JQL-фильтром по нужным проектам.

Data Center умеет подписывать вызовы, и коннектор эту подпись проверяет. Cloud не умеет — там пропуском служит секрет внутри выданной ссылки, поэтому её нельзя публиковать.

Если что-то не работает

СимптомПричина
«Не вышло: … personal access tokens»Jira старше 8.14 — переключитесь на логин и пароль
«Jira ответила 410» на интеграции jiraадрес ведёт в облако: там этого метода поиска больше нет — поставьте jira-cloud
401 при верном токене в jira-cloudне заполнена учётная запись: Cloud входит парой «почта + токен»
бот молчит на упоминаниепроект не указан в ключах проектов подключения
в разделе «Обзор» написано, что секция jira не используетсяконфиг остался от версии со встроенной интеграцией — см. ниже

Встроенная интеграция с Jira убрана. Раньше она настраивалась прямо в агенте, секцией jira: в конфиге; теперь это интеграция из каталога. Агент с таким конфигом стартует — секцию он сохраняет нетронутой, не использует и пишет об этом на странице настроек, — но работать она перестала: подключение нужно создать заново.

On this page