Интеграция позволяет:
— получить в комментариях к карточке сообщения, которые содержат ссылки на commit’ы, относящиеся к данной карточке;
— автоматически перемещать карточки в выбранную колонку, если создается ветка в репозитории;
— автоматически перемещать карточки в выбранную колонку, если относящаяся к карточке ветка вливается в указанную ветку репозитория;
— автоматически перемещать карточки при открытии или слиянии Pull Request;
— автоматически перемещать карточки на события Review: changes requested и approved;
— автоматически перемещать карточки на события deployment;
— автоматически перемещать карточки, указанные в описании к Pull Request;
Откройте меню. В разделе «Пространства» наведите курсор на пространство, события которого вы хотите интегрировать в календарь. Нажмите на три точки справа от названия пространства, затем в выпадающем меню «Настройки пространства»
В открывшемся окне перейдите в раздел GitHub. В настройках будет указан GitHub Secret и Webhook URL для вашей компании. Указанные параметры необходимо ввести в настройках репозитория на GitHub.
Зайдите в GitHub. Раздел Settings → Webhooks → Add Webhooks.
В открывшемся окне введите GitHub Secret и Webhook URL из Кайтена.
В разделе Which events would you like to trigger this webhook выберите желаемые события.
Установите Webhook согласно шагам выше.
Теперь, если в commit’е будет содержаться #XXX, где XXX — номер вашей карточки, то добавится комментарий со ссылкой на данный commit.
Чтобы комментарий появился в нескольких карточках - добавьте нужные номера карточек через запятую: #XXX,YYY,XXX
(без пробелов и дополнительных #
)
Карточка может перемещаться автоматически: когда создается ветка, в названии которой есть ID карточки, когда открывается/вливается Pull Request, когда происходят события Review или когда происходит развертывание.
1. Настройте webhook как указано выше в «Настойке GitHub репозитория»;
2. Вернитесь в Кайтен → Настройки пространства → GitHub. Под описанием webhook есть раздел «Интеграции с репозиториями», там нажмите на кнопку «Создать»;
Название репозитория — это, например, kaiten
в строчке https://github.com/kaiten-hq/kaiten
;
Для событий branch created
необходимо указать колонку для перемещения.
Для остальных событий PR opened, PR merged, Review changes requested, Review approved
необходимо, помимо колонки, указать ветку, на которую будет открыт Pull Request.
Теперь, если вы создадите ветку в вашем проекте с названием, например, branch-XXXX
, где XXXX
— id вашей карточки, то карточка переместиться в колонку, которая указана для события branch created. Как называть ветку — неважно, главное, чтобы там был ID карточки.
Необходимо выполнить настройки из раздела Автоматические перемещения карточек
.
Теперь, если вы укажете дополнительные карточки в специальном формате в описании к Pull Request, то они будут перемещаться в соответсвии с настройками для созданной ветки.
Специальный формат представляет собой ключевое слово и список ID карточек через запятую. Кроме ID, можно указать ссылку на карточку в полном hq.kaiten.ru/space/1/card/XXX
или сокращенном формате /c/XXX
.
Ключевые слова close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved
Например, если указать в описании к PR fixes: 1, 2, 3; resolved hq.kaiten.ru/space/1/4, /c/5, 6
, то переместятся карточки с ID от 1 до 6.
Необходимо выполнить настройки из раздела «Автоматическое перемещение карточек»
Создание токена:
1. В правом верхнем углу любой страницы на GitHub кликните на вашу иконку портфолио, далее кликните Settings;
2. Слева, в сайдбаре, кликните Developer settings;
3. Слева, в сайдбаре, кликните Personal access tokens;
4. Кликните Generate new token;
5. Выберите уровень доступа repo;
6. Кликните Generate token;
7. Вставьте полученный токен в поле Personal Access Token интеграции.
При успешном разворачивании на указанное окружение (Кайтен реагирует только на событие deployment_status
со статусом success
), анализируем все добавленные после предыдущего разворачивания коммиты в указанную ветку (поле «Ветка»). Находим коммиты, которые начинаются со слов Merge pull request
и извлекаем из них id карточек. Далее перемещаем все найденные неархивные карточки в соответствующую колонку.
На примере карточки с ID 100:
При создании ветки, например, fix-branch100
, карточка переместится в колонку «Очередь» на доске Work.
При открытии PR на ветку development
, карточка переместится в колонку In Progress на доске Work.
После прохождения Review в статусе approved
, карточка переместится в колонку Approved на доске Work.
После слияния c веткой development
, карточка переместится в колонку «Готово» на доске Work.
1. Новый action Draft PR opened для интеграции с GitHub;
2. Новая настройка для draft-pr;
3. Перевод из draft-pr в обычный обрабатываем как открытие PR.