Поиск по сайту:

Как настроить интеграцию Gitlab с Jira


Jira — это популярный продукт для отслеживания проблем, обычно используемый для облегчения гибкой разработки программного обеспечения. Он поставляется с поддержкой собственной системы контроля версий Atlassian, BitBucket, которая напрямую связывает проблемы с коммитами, но вы также можете включить такую же поддержку для Gitlab.

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

По сути, интеграция Jira с Gitlab позволяет связать задачи Jira с коммитами Git. Всякий раз, когда изменения отправляются в Gitlab, он проверяет, упоминаются ли какие-либо проблемы Jira в сообщении или описании коммита, и добавляет комментарий к проблеме.

Это простая функция, но она имеет решающее значение для объединения двух платформ. Допустим, вы даете разработчику набор задач для работы в спринте кода. Этот разработчик создает кучу коммитов и отправляет их в Gitlab всякий раз, когда задача завершена, упоминая проблемы в процессе. Когда менеджер проекта просматривает Jira, он сможет быстро увидеть связанные коммиты для любых задач, поскольку там будут ссылки на каждую фиксацию по проблеме.

Это работает и в обратную сторону — из Gitlab вы сможете быстро увидеть, какие проблемы упоминаются в коммите. В основном это просто экономит вам клик, но это хорошая функция, когда у вас много проблем.

Благодаря интеграции вы также можете автоматизировать закрытие задач из сообщений фиксации. Если вы требуете, чтобы разработчики перемещали задачи из состояния «В процессе» в состояние «На рассмотрении», вы можете настроить Gitlab так, чтобы оно делало это каждый раз, когда кто-то пишет «Resolves PROJECT-1» в сообщении фиксации.

Те же функции также поддерживаются для запросов на слияние, что полезно, когда у вас есть разработчик, работающий над своей собственной веткой, которую необходимо объединить с мастером.

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

Интеграция Jira настраивается для каждого проекта, поэтому перейдите на страницу своего проекта и нажмите «Настройки» > «Интеграции»:

Прокрутите вниз список «Службы проекта», чтобы найти и нажать «Jira». Здесь вам придется настроить кучу вещей.

Во-первых, вам нужно включить интеграцию, установив флажок «Активно». Вы также можете отключить триггеры коммитов и мерж-реквестов, но вы, вероятно, захотите их.

Затем введите веб-адрес Jira. Если вы используете управляемую облачную версию Jira (на atlassian.net), укажите URL-адрес companyname.atlassian.net. Если вы самостоятельно размещаете Jira, вы должны ввести URL-адрес своего экземпляра, возможно, что-то вроде jira.companyname.com. При желании, если вы самостоятельно размещаете Jira и размещаете API в другом домене, вы можете ввести это здесь.

Если вы используете облачную версию Jira, вам нужно указать свой адрес электронной почты и токен API, который вы можете получить на этой странице. Создайте новый токен и вставьте его в поле в Gitlab. Это аутентифицирует Gitlab в вашей учетной записи Atlassian. Если вы используете Jira с собственным хостингом, вам просто нужно ввести свое имя пользователя и пароль.

В любом случае вы, вероятно, захотите создать учетную запись службы, чтобы сообщения отображались из «Gitlab», а не из вашей личной учетной записи пользователя. Если вы не хотите платить за дополнительный аккаунт, ваш личный вполне подойдет.

Затем вам нужно предоставить Gitlab список идентификаторов перехода. Они определяют различные этапы задач, например, «Задачи», «Выполняется» и «Готово». Странно, что Gitlab не настраивает это автоматически, но вы можете получить их список из API Jira, перейдя по следующему URL-адресу в своем браузере:

https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-1/transitions

Обратите внимание, что вам нужно будет заменить «yourcompany» на ваш фактический URL-адрес Jira и подставить «ISSUE-1» на реальный идентификатор задачи. Это даст

var x = `paste response here`
console.log(JSON.parse(x).transitions.map((d)=>d.id).join(','))

Что вернет что-то вроде 11, 21, 31 (по умолчанию), которое вы введете в поле идентификатора перехода.

Использование интеграции с Jira

Использование интеграции Jira довольно просто. Нет ни флажков, которые нужно отметить, ни рычагов, которые нужно потянуть, просто укажите идентификатор задачи Jira в любом месте темы или описания коммита, и Gitlab автоматически опубликует комментарий к задаче со ссылкой на страницу коммита:

Это хорошо и все такое, но еще лучше иметь возможность закрывать проблемы из коммитов. В настоящее время есть три триггерных слова, которые вы можете использовать, чтобы закрыть проблему:

  • Решает ПРОЕКТ-1
  • Закрывает ПРОЕКТ-1
  • Исправляет PROJECT-1

Вы можете вписать их в сообщения коммитов или описания:

Каждый из них сделает одно и то же — переместит связанную проблему на последний идентификатор перехода, который вы указали в списке. Если вы не хотите, чтобы разработчики перемещали проблемы напрямую в «Готово», вы можете настроить Gitlab для отправки коммитов в «На рассмотрении», не указывая идентификаторы переходов для нежелательных категорий.