Інтэграцыя Jira з GitLab

Мэта

Пры каментары ў git згадваем у каментары якую-небудзь задачу з Jira па імі, пасля чаго адбываецца дзве рэчы:

  • у GitLab назва задачы ператвараецца ў актыўную спасылку на яе ў Jira

  • у Jira да задачы дадаецца каментар са спасылкамі на коміт і карыстальніка, які яго здзейсніў, а таксама дадаецца сам тэкст згадвання

Настройка

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

    • Прастаўляем галачку Актыўны, Каб актываваць сувязь.
    • Як відаць з формы, можна асобна наладзіць патрэбныя паводзіны для коммітаў і merge-рэквестаў.
    • Уводзім Інтэрнэт-URL вашай кампаніі ў Jira, напрыклад 'https://companyname.atlassian.net'
    • Jira API url - запаўняецца, калі ў вас ёсць іншы інстанс Jira, па змаўчанні будзе выкарыстоўвацца значэнне Інтэрнэт-URL.
    • поля Імя карыстальніка / Email и 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

Дадаць каментар