Scop
Când facem un commit în git, menționăm în comentariu o sarcină din Jira după nume, după care se întâmplă două lucruri:
- în GitLab, numele sarcinii devine un link activ către aceasta în Jira
- în Jira, sarcina primește un comentariu cu link-uri către commit și utilizatorul care l-a realizat, precum și textul mențiunii în sine
Configurare
- Avem nevoie de un utilizator Jira cu drepturi de nivel write. Putem folosi un utilizator existent, dar trebuie să ne amintim că toate comentariile din Jira atunci când menționăm sarcini din git vor apărea în numele acestui utilizator, așa că este mai bine să creăm unul nou, să-l numim, de exemplu, GitLab și să-l adăugăm în Jira cu drepturi write în toate proiectele dumneavoastră.
- Avem nevoie de un utilizator GitLab cu drepturi de administrator în fiecare dintre proiectele pe care le vom conecta. Pentru fiecare proiect, integrarea se configurează separat.
- În GitLab, deschidem proiectul, mergem la Setări -> Integrations. Derulăm în jos, vedem Project services cu o listă lungă de servicii care pot fi conectate.
- Găsim în această listă Jira, apare un formular

- Bifăm Activ, pentru a activa conexiunea.
- După cum se vede din formular, putem configura comportamentul dorit pentru commits și merge requests separat.
- Introducem Web URL al companiei dvs. în Jira, de exemplu ‘https://companyname.atlassian.net’
- Jira API url — se completează dacă aveți o altă instanță Jira, în mod implicit va fi folosită valoarea Web URL.
- Câmpuri Username/Email și Password/Token se completează corespunzător pentru a indica dacă utilizați Jira Server sau Jira Cloud. În cazul Jira Server, introduceți Username și parolă pentru utilizatorul sub numele căruia vor fi adăugate comentariile. În cazul Jira Cloud, introduceți email-ul și token-ul, care pot fi obținute .
- Câmp Transition ID(s). Dacă doriți, de exemplu, ca atunci când menționați o sarcină să fie închisă automat, atunci în acest câmp trebuie să specificați ID-ul tranziției în starea închisă. Acest ID poate fi obținut prin API:
https://companyname.atlassian.net/rest/api/2/issue/ISSUENAME-123/transitionsunde ISSUENAME-123 este numele unei sarcini în starea dorită. Veți obține un JSON cu un array de tranziții, din care puteți obține ID-ul dorit.
Ca rezultat, în GitLab, Setări -> Integrations Jira acum are un indicator verde:

și în meniul proiectului va apărea un element Jira, care duce la proiectul corespunzător în Jira:
Utilizare:
Când scriem un comentariu la commit (nu contează ce instrument folosim pentru a lucra cu git), putem adăuga numele sarcinilor în text, fără ghilimele sau simboluri speciale precum @
bugfix XPROJECT-123, XPROJECT-124ca rezultat, un comentariu va fi adăugat la sarcina corespunzătoare:

iar în GitLab va apărea un link activ:

Sursa: habr.com



