Інтеграція Jira з GitLab

Мета

При коментарі в git згадуємо в коментарі якесь завдання з Jira на ім'я, після чого відбувається дві речі:

  • в GitLab назва завдання перетворюється на активне посилання на неї Jira

  • в Jira до завдання додається коментар з посиланнями на комміт і користувача, що його вчинив, а також додається сам текст згадки

Налаштування

  1. Нам потрібний користувач Jira з правами рівня write. Можна використовувати існуюче, важливо пам'ятати, що всі коментарі в Jira при згадці завдань з гіта будуть падати від імені цього користувача, тому краще створити нового, назвати його, скажімо, GitLab, і додати Jira з правами write у всі ваші проекти.
  2. Нам потрібен GitLab користувач з правами адміністратора у кожному з проектів, який ми підключатимемо. Для кожного проекту інтеграція налаштовується окремо.
  3. У GitLab відкриваємо проект, заходимо у Налаштування -> Інтеграції. Скролимо вниз, бачимо Проектні послуги c довгим списком сервісів, які можна підключити.
    Інтеграція Jira з GitLab
  4. Знаходимо у цьому списку Jira, з'являється форма
    Інтеграція Jira з GitLab

    • Проставляємо галочку Active, щоб активувати зв'язок.
    • Як видно з форми, можна окремо налаштувати потрібну поведінку для коммітів та merge-реквестів.
    • вводимо Web URL вашої компанії в Jira, наприклад 'https://companyname.atlassian.net'
    • Jira API url — заповнюється, якщо у вас є інстація Jira, за замовчуванням буде використовуватися значення Web URL.
    • Поля Ім'я користувача / електронна пошта и Password/Token заповнюються відповідно до того, використовуєте ви Jira Server або Jira Cloud. У разі Jira Server ви вводите Username та пароль користувача, від імені якого будуть додаватися коментарі. У випадку Jira Cloud ви проставляєте email та токен, який можна отримати тут.
    • Поле Transition ID(s). Якщо ви хочете, скажімо, щоб при згадці задачі воно автоматично закривалося, то в цьому полі потрібно прописати ID переходу до стану closed. Цей ID можна отримати за API:
      https://companyname.atlassian.net/rest/api/2/issue/ISSUENAME-123/transitions 

      де ISSUENAME-123 - ім'я якогось завдання в потрібному стані. Ви отримаєте JSON з масивом transitions, з яких можна взяти потрібний id.

    В результаті в GitLab в Налаштування -> Інтеграції Jira тепер має зелений індикатор:

    Інтеграція Jira з GitLab

    і в меню проекту з'явиться пункт Jira, який веде у відповідний проект у Jira:

    Інтеграція Jira з GitLab

Використання:

Коли пишемо коментар до комміту (не важливо, який інструмент ми при цьому використовуємо для роботи з git), можемо додати назву завдань у текстовому вигляді (без лапок або спецсимволів типу @).

bugfix XPROJECT-123, XPROJECT-124

в результаті до відповідного завдання впаде коментар:

Інтеграція Jira з GitLab

і в гітлабі з'явиться активне посилання:

Інтеграція Jira з GitLab

Джерело: habr.com

Додати коментар або відгук