GitLab
В Трекере можно настроить интеграцию с репозиторием GitLab, чтобы отображать в задачах Трекера связи с коммитами и мерж-реквестами в репозитории.
Чтобы добавить в задачу ссылку на коммит или мерж-реквест, укажите ключ задачи в комментарии к коммиту или описании мерж-реквеста, например: Исправление ошибки TEST-123. Подробнее читайте в разделе Интеграция с репозиториями.
-
Чтобы настроить связи между задачами Трекера и коммитами, можно использовать один из способов:
-
Настроить вебхук в репозитории — рекомендуем использовать этот способ синхронизации, если вы используете репозиторий GitLab на собственном сервере. Он позволяет быстро синхронизировать данные и отображать новые коммиты в задачах в Трекер.
-
Настроить периодический опрос репозитория — Трекер будет периодически запрашивать информацию о коммитах в репозитории.
Этот способ синхронизации можно настроить для репозиториев, размещенных онлайн или развернутых на собственном сервере.
При опросе репозитория связи с коммитами могут отображаться в Трекере с задержкой до 10 часов.
-
-
Чтобы настроить связи между задачами Трекера и мерж-реквестами, вы можете создать в репозитории вебхук, который будет обращаться к API Трекера и передавать данные о мерж-реквестах.
Настроить в репозитории вебхук для коммитов
Синхронизация коммитов с помощью вебхука доступна для репозиториев, размещенных на собственных серверах вашей компании.
-
В Трекере получите URL и токен для настройки вебхука: Как получить URL и токен.
-
Откройте ваш инстанс GitLab и перейдите к настройкам хука:
- Для включения интеграции на весь инстанс GitLab (требуются права администратора GitLab):
- В панели слева нажмите на раскрывающийся список Your work и выберите пункт Admin Area.
- Перейдите в раздел System Hooks.
- Для включения интеграции на отдельный проект:
- Перейдите в необходимый проект.
- В панели слева нажмите кнопку Settings и выберите пункт Webhooks.
- Для включения интеграции на весь инстанс GitLab (требуются права администратора GitLab):
-
В поле URL введите значение URL, которое вы скопировали в Трекере.
-
В поле Secret token введите значение токена, которое вы скопировали в Трекере.
-
В разделе Trigger выключите все опции, кроме Push events.
-
В разделе SSL verification включите опцию Enable SSL verification.
-
Нажмите кнопку Add system hook (Add webhook для отдельного проекта).
Чтобы проверить, что вебхук работает корректно:
-
Создайте или выберите существующую задачу в Tracker, в которой вы будете тестировать связь с коммитом.
-
В вашем репозитории создайте коммит и укажите в его комментарии ключ задачи, например:
Исправление ошибки TEST-123. -
Убедитесь, что на странице задачи в Tracker на вкладке Коммиты отображается информация о вашем коммите.
Настроить в репозитории вебхук для мерж-реквестов
Чтобы настроить связи между задачами в Трекере и мерж-реквестами, создайте в вашем репозитории GitLab вебхук, который будет обращаться к API Трекера и передавать данные о мерж-реквестах.
Чтобы привязать мерж-реквест к задаче, укажите ее ключ в названии или описании нового мерж-реквеста. Ссылка на мерж-реквест появится на странице задачи в разделе Связи с внешними приложениями.
Дополнительно можно включить автоматическое создание комментариев в задаче с информацией о мерж-реквестах. Автоматическое комментирование доступно только при использовании Managed Service for GitLab.
Создайте хук для интеграции
Чтобы создать вебхук для связи задач с мерж-реквестами:
-
Создайте в вашей организации технический аккаунт, от имени которого будут отправляться запросы к API Трекера: Как добавить пользователей в Трекер.
-
Получите для созданного технического аккаунта OAuth-токен для доступа к API Яндекс Трекера: Как получить токен.
-
Проверьте наличие доступа к API с помощью запроса Получить информацию о текущем пользователе.
-
Откройте инстанс GitLab и перейдите к настройкам хука:
- Для включения интеграции на весь инстанс GitLab (требуются права администратора GitLab):
- На панели слева нажмите на раскрывающийся список Your work и выберите пункт Admin Area.
- Перейдите в раздел System Hooks.
- Для включения интеграции на отдельный проект:
- Перейдите в необходимый проект.
- На панели слева нажмите кнопку Settings и выберите пункт Webhooks.
- Для включения интеграции на весь инстанс GitLab (требуются права администратора GitLab):
-
Укажите параметры хука:
-
URL:
https://api.tracker.yandex.net/v3/system/gitlab/receive?comments=true&<тип_организации>=<идентификатор_организации>Где:
-
comments=true— включает автоматическое создание комментариев в задаче со ссылкой и информацией о мерж-реквестах. Удалите этот параметр из URL, если комментирование не нужно. Параметр доступен только для Managed Service for GitLab. -
<тип_организации>— может принимать следующие значения:x_cloud_org_id— для организации Yandex Cloud Organization.x_org_id— для организации Яндекс 360 для бизнеса.
-
<идентификатор_организации>Чтобы узнать идентификатор организации, перейдите на страницу Администрирование → Организации и скопируйте значение поля идентификатор.
-
-
Secret token — OAuth-токен технического аккаунта, который вы получили, в формате
OAuth <содержимое_токена>.
Например:OAuth y1_AQAD-qJScA********. -
В разделе Trigger выключите все опции, кроме Merge request events.
-
В разделе SSL verification включите опцию Enable SSL verification.
-
-
Нажмите кнопку Add system hook (Add webhook для отдельного проекта).
На странице появится раздел System Hooks (Project Hooks для отдельного проекта), в котором отобразится созданный хук и его параметры.
Протестируйте хук
- В разделе System Hooks (Project Hooks для отдельного проекта) нажмите кнопку Test.
- В раскрывающемся списке выберите пункт Merge request events.
Тестовый запрос должен вернуть ответ Hook executed successfully: HTTP 204. Если тестовый запрос возвращает ошибку, значит параметры хука указаны неверно.
Проверьте результат
Чтобы проверить, что вебхук работает корректно:
-
Создайте или выберите существующую задачу в Tracker, в которой вы будете тестировать связь с коммитом.
-
В вашем репозитории создайте мерж-реквест и укажите в его названии или описании ключ задачи, например
Исправление ошибки TEST-123. -
Убедитесь, что на странице задачи в Tracker в разделе Связи с внешними приложениями отображается информация о вашем мерж-реквесте.
Если вы использовали Managed Service for GitLab и включили автоматическое комментирование при создании вебхука, то в задаче появится комментарий со ссылкой на мерж-реквест и информацией о нем.
Узнайте больше
Настроить опрос репозитория
Подключить онлайн-репозиторий
Чтобы подключить репозиторий на GitLab к Трекеру:
Закрытый репозиторий доступен только авторизованным пользователям GitLab (Internal project) или команде проекта (Private project).
-
Получите на GitLab токен для доступа к вашему репозиторию. Подробную инструкцию о том, как получить токен, читайте в документации GitLab. Для корректной работы Трекера при настройке разрешения включите опции read_repository и read_api.
-
Убедитесь, что вы авторизованы в Трекере как администратор.
-
В Трекере на панели слева нажмите → Администрирование, затем откройте раздел Репозитории.
-
Нажмите кнопку Добавить и выберите Репозиторий.
-
В поле Платформа выберите GitLab.
-
Для опции Адрес сервера выберите значение gitlab.com.
-
В поле Репозиторий укажите адрес в формате
https://gitlab.com/<логин_владельца_репозитория>/<имя_репозитория>и токен для подключения. -
Нажмите кнопку Добавить.
-
Убедитесь, что статус репозитория отображается в Трекере как Подключен.
Подключить репозиторий на собственном сервере
Перед подключением получите токен для доступа к репозиторию. Подробную инструкцию о том, как получить OAuth-токен, читайте в документации GitLab. Для корректной работы Трекера при настройке разрешения включите опции read_repository и read_api.
Чтобы подключить к Трекеру репозиторий на собственном сервере:
-
Убедитесь, что вы авторизованы в Трекере как администратор.
-
В Трекере на панели слева нажмите → Администрирование, затем откройте раздел Репозитории.
-
Нажмите кнопку Добавить и выберите Репозиторий.
-
В поле Платформа выберите тип вашего репозитория.
-
Для опции Адрес сервера выберите значение Собственный.
-
В поле Репозиторий укажите адрес репозитория на вашем сервере. Подключение к серверу должно осуществляться по технологии OAuth 2.0.
-
В поле Токен с платформы укажите токен для подключения к вашему серверу.
-
Нажмите кнопку Добавить.
-
Убедитесь, что статус репозиториев отображается в Трекере как Подключен.
Ключ задачи — это уникальный идентификатор задачи. Он состоит из ключа очереди и порядкового номера, например: TEST-123. С помощью ключа можно перейти к задаче по ссылке: https://tracker.yandex.ru/TEST-123.