GitLab

Интеграция позволяет:

— получить в комментариях к карточке сообщения, которые содержат ссылки на commit’ы, относящиеся к данной карточке;

— автоматически создавать ссылки на Кайтен карточки в каждом коммите в GitLab

— автоматически перемещать карточки в выбранную колонку, если создается ветка в репозитории;

— автоматически перемещать карточки в выбранную колонку, если относящаяся к карточке ветка вливается в указанную ветку репозитория;

Настройка

Настойка GitLab репозитория

1. Откройте меню. В разделе «Пространства» наведите курсор на пространство, события которого вы хотите интегрировать в календарь. Нажмите на три точки справа от названия пространства, затем в выпадающем меню «Настройки пространства»

  1. В открывшемся окне перейдите в раздел GitLab. В настройках будет указан GitLab Secret и Webhook URL для вашей компании.
    В разделе «Интеграции с репозиториями» нажмите кнопку «Создать интеграцию».

  2. В открывшемся окне введите

  • Название репозитория - это, например, awesome-project в строчке https://gitlab.com/koshkarik/awesome-project

Обратите внимание, в случае если у вас self hosted gitlab - вы все также должны указать только название репозитория, а не полный url!
https://koshkarik.gitlab.yandexcloud.net/koshkarik/test
(в данном примере - test)

  • Префикс

    С помощью кастомного префикса в Кайтене автоматически будет создаваться комментарий со ссылкой на коммит в GitLab.

    Задайте префикс и используйте данный префикс в коммит-сообщениях. Например, для префикса KAITEN коммит сообщение может быть следующим bug fix KAITEN-157834. (Также есть возможность указать несколько карточек через запятую и без пробела #XXXXX,YYYYY)

Настройка интеграции в GitLab

  • В GitLab в меню выберете Settings → Integrations.

  • Введите ваш Webhook URL и Gitlab Secret.

  • Нажмите кнопку Add webhook.

Убедитесь что отмечен флажок Push events и Merge requests events в секции Trigger.

Автоматические перемещения карточек

Карточка может перемещаться автоматически:

— когда создается ветка, в названии которой есть ID карточки

— когда ветка, в названии которой есть ID карточки, мержится в указанную ветку

Выберете доску / колонку в которые будет автоматически передвигаться карточка в зависимости от события

Теперь, если вы создадите ветку в вашем проекте с названием, например, branch-XXXX, где XXXX — id вашей карточки, то карточка переместиться в колонку, которая указана для события branch created. Как называть ветку — неважно, главное, чтобы там был ID карточки.

Обратите внимание, событие перемещения срабатывает только для одной карточки. То есть если в названии присутствует несколько ID карточек, событие сработает только для первой

Ссылки на Кайтен карточки в gitlab

Если настроить Кайтен как внешний issue tracker в gitlab, то при наличии в коммитах id карточки - gitlab будет делать такие id ссылками на карточки в Кайтене. Данный функционал предоставляет Gitlab. https://docs.gitlab.com/ee/user/project/integrations/custom_issue_tracker.html

Для настройки внешнего трекера перейдите в интеграции и выберите пункт «Custom issue tracker».

Далее добавьте ссылки на Кайтен (на изображении ниже вместо your_domain введите ваш домен Кайтена).

После сохранения данных настроек Gitlab будет подставлять в коммитах вместо id карточек ссылки на карточки в Кайтене.

Обратите внимание, данный функционал реализуется на стороне Gitlab и не зависит от Кайтена. На момент написания данной статьи не преобразовывались id карточек вместе с решеткой (т е #123456), а только ABC-123456.

Пример настроек интеграции

На примере карточки с ID 100:

При создании ветки, например, fix-branch-100, карточка переместится в колонку Gitlab Tests / Очередь;

После слияния c веткой master, карточка переместится в колонку Gitlab Tests / Готово

Проверка корректности интеграции

Добавление комментариев к карточке на основе коммит-сообщений

1) Если указан префикс в настройках, то будут добавляться только комментарии с префиксом;

2) По умолчанию вместо префикса используется # (пример коммит-сообщения: bug fix #12345)

3) Префикс в коммит-сообщении должен полностью соответствовать префиксу из настроек (раскладка, регистр букв)

4) Полное удаление настроек для репозитория сбрасывает настройку префикса. Теперь для создания комментариев следует использовать # в коммит-сообщении

5) В интерфейсе GitLab должны быть включены Push Events в настройках (Settings → Webhooks → Интеграция с Кайтен по url. Например, https://hq.kaiten.ru/gitlabwh)