AACWorkflow Docs

Интеграция с GitHub

Подключите GitHub App один раз, и PR, содержащие идентификатор задачи в ветке, заголовке или теле, автоматически привяжутся к задаче — а при вливании PR задача перейдёт в «Готово».

Подключите аккаунт или организацию GitHub один раз в Настройки → GitHub. После этого любой pull request, в названии ветки, заголовке или теле которого содержится идентификатор задачи (например, AAC-123), автоматически привязывается к этой задаче, появляется в разделе Pull requests в боковой панели задачи и — при вливании PR — переводит задачу в статус Готово.

Никакой настройки для каждой задачи не требуется. Весь процесс основан на идентификаторах.

Что делает интеграция

ПоверхностьПоведение
Настройки → GitHubАдминистраторы видят вкладку GitHub с общим переключателем, кнопкой Подключить GitHub и переключателями функций.
Боковая панель задачи → Pull requestsКаждый PR, автоматически привязанный к задаче, с заголовком, репо, статусом и автором.
Вебхук (фон)При каждом событии pull_request AACWorkflow обновляет запись PR, сканирует его на идентификаторы и (пере)строит связи. Идемпотентно.
Авто-статус при вливанииКогда PR переходит в merged, каждая связанная задача (кроме Done и Cancelled) переводится в Done.

Как сопоставляются идентификаторы

Вебхук извлекает идентификаторы из трёх полей: ветка PR, заголовок PR, тело PR. Поиск:

  • Без учёта регистра — aac-123, AAC-123, Mul-123 — все совпадают.
  • Ограничен — \b слева и цифровой якорь справа не дают захватывать номера версий.
  • В рамках рабочего пространства — только префикс текущего пространства.
  • Дедуплицирован — AAC-1, AAC-1 в теле привяжет задачу один раз.

Правило авто-перехода в Done

При вливании PR каждая связанная задача оценивается:

Текущий статусРезультат
doneБез изменений
cancelledБез изменений
Всё остальноеПереход в done

Закрытие PR без вливания только обновляет статус карточки PR на Closed. Задачи остаются на месте.

Действие приписывается системному актору (system) на временной шкале. Подписчики задачи получают уведомление в папку «Входящие» об изменении статуса — так же, как если бы его изменил человек.

Что не авто-линкуется

  • Идентификаторы в сообщениях коммитов — сканируются только ветка / заголовок / тело PR. Коммит с заголовком AAC-123: fix login не создаёт автолинк, если та же строка не встречается в заголовке или теле PR.
  • Идентификаторы в комментариях PR — сканируются только метаданные самого PR; последующие комментарии GitHub игнорируются.
  • PR в репозиториях, где не установлено приложение — без приложения AACWorkflow никогда не получает вебхук.
  • Ручная привязка PR к задаче — пока нет интерфейса для этого. Если в вашей команде идентификаторы указываются там, где AACWorkflow не читает, добавьте их в заголовок или тело PR.

Отключение

В Настройки → GitHub нет списка установок — управляйте существующими установками непосредственно из GitHub:

  • Из GitHub — удалите приложение AACWorkflow GitHub App по адресу https://github.com/settings/installations (личный) или https://github.com/organizations/<org>/settings/installations (организация). AACWorkflow получает вебхук installation.deleted и удаляет запись в реальном времени; любая открытая вкладка настроек обновится без перезагрузки.
  • Отключение из AACWorkflow только для администраторов — элемент управления Disconnect на вкладке GitHub скрыт для не-администраторов. Он остаётся доступным, даже когда главный переключатель GitHub выключен, чтобы администраторы могли отозвать устаревшую установку после отключения функции одним щелчком.

После отключения зеркала PR остаются в базе данных, чтобы исторические боковые панели задач всё ещё показывали связи, но новые события вебхука от этой установки приниматься не будут.

Права доступа и видимость

  • Подключение / отключение требуют прав владельца или администратора рабочего пространства. Участники видят описание карточки, но не кнопку Connect.
  • Боковая панель Pull requests на задаче видна любому, кто может читать задачу — те же права, что и для остальной детализации задачи.
  • Приложение GitHub App запрашивает доступ только на чтение к pull request'ам и метаданным. AACWorkflow никогда не отправляет коммиты, комментарии или проверки статуса обратно в GitHub.

Интеграция с AACWorkflow Cloud

Интеграция с GitHub уже настроена в AACWorkflow Cloud. Перейдите в Настройки → GitHub и нажмите Подключить GitHub, чтобы привязать свой аккаунт или организацию. Выберите репозитории, к которым хотите предоставить доступ, и завершите установку.

После установки любой pull request, в названии ветки, заголовке или теле которого есть идентификатор задачи, автоматически привязывается к этой задаче в течение нескольких секунд.