GitLab

В Трекере можно настроить интеграцию с репозиторием GitLab, чтобы отображать в задачах Трекера связи с коммитами и мерж-реквестами в репозитории.

Чтобы добавить в задачу ссылку на коммит или мерж-реквест, укажите ключ задачи в комментарии к коммиту или описании мерж-реквеста, например: Исправление ошибки TEST-123. Подробнее читайте в разделе Интеграция с репозиториями.

  • Чтобы настроить связи между задачами Трекера и коммитами, можно использовать один из способов:

    • Настроить вебхук в репозитории — рекомендуем использовать этот способ синхронизации, если вы используете репозиторий GitLab на собственном сервере. Он позволяет быстро синхронизировать данные и отображать новые коммиты в задачах в Трекер.

      Настроить в репозитории вебхук для коммитов

    • Настроить периодический опрос репозитория — Трекер будет периодически запрашивать информацию о коммитах в репозитории.

      Этот способ синхронизации можно настроить для репозиториев, размещенных онлайн или развернутых на собственном сервере.

      Настроить опрос репозитория

      При опросе репозитория связи с коммитами могут отображаться в Трекере с задержкой до 10 часов.

  • Чтобы настроить связи между задачами Трекера и мерж-реквестами, вы можете создать в репозитории вебхук, который будет обращаться к API Трекера и передавать данные о мерж-реквестах.

    Настроить в репозитории вебхук для мерж-реквестов

Настроить в репозитории вебхук для коммитов

Синхронизация коммитов с помощью вебхука доступна для репозиториев, размещенных на собственных серверах вашей компании.

  1. В Трекере получите URL и токен для настройки вебхука: Как получить URL и токен.

  2. Откройте ваш инстанс GitLab и перейдите к настройкам хука:

    • Для включения интеграции на весь инстанс GitLab (требуются права администратора GitLab):
      1. В панели слева нажмите на раскрывающийся список Your work и выберите пункт Admin Area.
      2. Перейдите в раздел System Hooks.
    • Для включения интеграции на отдельный проект:
      1. Перейдите в необходимый проект.
      2. В панели слева нажмите кнопку Settings и выберите пункт Webhooks.
  3. В поле URL введите значение URL, которое вы скопировали в Трекере.

  4. В поле Secret token введите значение токена, которое вы скопировали в Трекере.

  5. В разделе Trigger выключите все опции, кроме Push events.

  6. В разделе SSL verification включите опцию Enable SSL verification.

  7. Нажмите кнопку Add system hook (Add webhook для отдельного проекта).

Чтобы проверить, что вебхук работает корректно:

  1. Создайте или выберите существующую задачу в Tracker, в которой вы будете тестировать связь с коммитом.

  2. В вашем репозитории создайте коммит и укажите в его комментарии ключ задачи, например: Исправление ошибки TEST-123.

  3. Убедитесь, что на странице задачи в Tracker на вкладке Коммиты отображается информация о вашем коммите.

Настроить в репозитории вебхук для мерж-реквестов

Чтобы настроить связи между задачами в Трекере и мерж-реквестами, создайте в вашем репозитории GitLab вебхук, который будет обращаться к API Трекера и передавать данные о мерж-реквестах.

Чтобы привязать мерж-реквест к задаче, укажите ее ключ в названии или описании нового мерж-реквеста. Ссылка на мерж-реквест появится на странице задачи в разделе Связи с внешними приложениями.

Дополнительно можно включить автоматическое создание комментариев в задаче с информацией о мерж-реквестах. Автоматическое комментирование доступно только при использовании Managed Service for GitLab.

Создайте хук для интеграции

Чтобы создать вебхук для связи задач с мерж-реквестами:

  1. Создайте в вашей организации технический аккаунт, от имени которого будут отправляться запросы к API Трекера: Как добавить пользователей в Трекер.

  2. Получите для созданного технического аккаунта OAuth-токен для доступа к API Яндекс Трекера: Как получить токен.

  3. Проверьте наличие доступа к API с помощью запроса Получить информацию о текущем пользователе.

  4. Откройте инстанс GitLab и перейдите к настройкам хука:

    • Для включения интеграции на весь инстанс GitLab (требуются права администратора GitLab):
      1. На панели слева нажмите на раскрывающийся список Your work и выберите пункт Admin Area.
      2. Перейдите в раздел System Hooks.
    • Для включения интеграции на отдельный проект:
      1. Перейдите в необходимый проект.
      2. На панели слева нажмите кнопку Settings и выберите пункт Webhooks.
  5. Укажите параметры хука:

    • 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.

  6. Нажмите кнопку Add system hook (Add webhook для отдельного проекта).

На странице появится раздел System Hooks (Project Hooks для отдельного проекта), в котором отобразится созданный хук и его параметры.

Протестируйте хук

  1. В разделе System Hooks (Project Hooks для отдельного проекта) нажмите кнопку Test.
  2. В раскрывающемся списке выберите пункт Merge request events.

Тестовый запрос должен вернуть ответ Hook executed successfully: HTTP 204. Если тестовый запрос возвращает ошибку, значит параметры хука указаны неверно.

Проверьте результат

Чтобы проверить, что вебхук работает корректно:

  1. Создайте или выберите существующую задачу в Tracker, в которой вы будете тестировать связь с коммитом.

  2. В вашем репозитории создайте мерж-реквест и укажите в его названии или описании ключ задачи, например Исправление ошибки TEST-123.

  3. Убедитесь, что на странице задачи в Tracker в разделе Связи с внешними приложениями отображается информация о вашем мерж-реквесте.

    Если вы использовали Managed Service for GitLab и включили автоматическое комментирование при создании вебхука, то в задаче появится комментарий со ссылкой на мерж-реквест и информацией о нем.

Узнайте больше

Настроить опрос репозитория

Подключить онлайн-репозиторий

Чтобы подключить репозиторий на GitLab к Трекеру:

Закрытый репозиторий доступен только авторизованным пользователям GitLab (Internal project) или команде проекта (Private project).

  1. Получите на GitLab токен для доступа к вашему репозиторию. Подробную инструкцию о том, как получить токен, читайте в документации GitLab. Для корректной работы Трекера при настройке разрешения включите опции read_repository и read_api.

  2. Убедитесь, что вы авторизованы в Трекере как администратор.

  3. В Трекере на панели слева нажмите  Администрирование, затем откройте раздел  Репозитории.

  4. Нажмите кнопку Добавить и выберите Репозиторий.

  5. В поле Платформа выберите GitLab.

  6. Для опции Адрес сервера выберите значение gitlab.com.

  7. В поле Репозиторий укажите адрес в формате https://gitlab.com/<логин_владельца_репозитория>/<имя_репозитория> и токен для подключения.

  8. Нажмите кнопку Добавить.

  9. Убедитесь, что статус репозитория отображается в Трекере как Подключен.

Подключить репозиторий на собственном сервере

Перед подключением получите токен для доступа к репозиторию. Подробную инструкцию о том, как получить OAuth-токен, читайте в документации GitLab. Для корректной работы Трекера при настройке разрешения включите опции read_repository и read_api.

Чтобы подключить к Трекеру репозиторий на собственном сервере:

  1. Убедитесь, что вы авторизованы в Трекере как администратор.

  2. В Трекере на панели слева нажмите  Администрирование, затем откройте раздел  Репозитории.

  3. Нажмите кнопку Добавить и выберите Репозиторий.

  4. В поле Платформа выберите тип вашего репозитория.

  5. Для опции Адрес сервера выберите значение Собственный.

  6. В поле Репозиторий укажите адрес репозитория на вашем сервере. Подключение к серверу должно осуществляться по технологии OAuth 2.0.

  7. В поле Токен с платформы укажите токен для подключения к вашему серверу.

  8. Нажмите кнопку Добавить.

  9. Убедитесь, что статус репозиториев отображается в Трекере как Подключен.

Ключ задачи — это уникальный идентификатор задачи. Он состоит из ключа очереди и порядкового номера, например: TEST-123. С помощью ключа можно перейти к задаче по ссылке: https://tracker.yandex.ru/TEST-123.

Предыдущая
Следующая