Obiettivo
Quando facciamo un commit in git, menzioniamo nel commento un'attività di Jira per nome, dopodiché accadono due cose:
- in GitLab il titolo dell'attività diventa un link attivo a essa in Jira
- in Jira viene aggiunto un commento all'attività con i link al commit e all'utente che lo ha effettuato, oltre al testo della menzione
Configurazione
- Abbiamo bisogno di un utente Jira con diritti di livello write. Possiamo utilizzare un utente esistente, ma è importante ricordare che tutti i commenti in Jira, quando si menzionano le attività da git, verranno effettuati a nome di questo utente, quindi è meglio crearne uno nuovo, chiamarlo, ad esempio, GitLab, e aggiungerlo in Jira con diritti di write su tutti i vostri progetti.
- Abbiamo bisogno di un utente GitLab con diritti di amministratore in ciascuno dei progetti che andremo a collegare. Per ogni progetto l'integrazione viene configurata separatamente.
- In GitLab apriamo il progetto, andiamo in Impostazioni -> Integrazioni. Scorriamo verso il basso, vediamo Servizi di progetto con un lungo elenco di servizi che possono essere collegati.
- Troviamo in questo elenco Jira, appare un modulo

- Mettiamo un segno di spunta Attivo, per attivare la connessione.
- Come si può vedere dal modulo, è possibile configurare separatamente il comportamento desiderato per i commit e le merge request.
- Inseriamo Web URL della vostra azienda in Jira, ad esempio 'https://companyname.atlassian.net'
- Jira API url — si compila se avete un'altra istanza di Jira, per default verrà utilizzato il valore Web URL.
- Campi Username/Email e Password/Token si riempiono rispettivamente in base a se utilizzate Jira Server o Jira Cloud. Nel caso di Jira Server inserite Username e password dell'utente, a nome del quale verranno aggiunti i commenti. Nel caso di Jira Cloud inserite l'email e il token, che possono essere ottenuti .
- Campo Transition ID(s). Se volete che, ad esempio, quando menzionate un'attività, venga chiusa automaticamente, dovete scrivere in questo campo l'ID della transizione allo stato closed. Questo ID può essere ottenuto tramite API:
https://companyname.atlassian.net/rest/api/2/issue/ISSUENAME-123/transitionsdove ISSUENAME-123 è il nome di un'attività in uno stato specifico. Riceverete JSON con un array di transizioni, da cui potrete prendere l'id richiesto.
Di conseguenza, in GitLab in Impostazioni -> Integrazioni Jira ora ha un indicatore verde:

e nel menu del progetto apparirà un elemento Jira, che porta al progetto corrispondente in Jira:
Utilizzo:
Quando scriviamo un commento al commit (non importa quale strumento utilizziamo per lavorare con git), possiamo aggiungere il nome delle attività in forma testuale (senza virgolette o simboli speciali come @)
bugfix XPROJECT-123, XPROJECT-124di conseguenza, verrà aggiunto un commento al task corrispondente:

e in GitLab apparirà un link attivo:

Fonte: habr.com



