Obiettivo
Quando si esegue un commit in git, menzioniamo nel commento un task di Jira per nome, dopodiché accadono due cose:
- in GitLab il titolo del task diventa un link attivo ad esso in Jira
- in Jira viene aggiunto un commento al task con i link al commit e all'utente che l'ha effettuato, oltre al testo della menzione
Impostazione
- Abbiamo bisogno di un utente Jira con diritti di livello write. È possibile utilizzare un utente esistente, ma è importante ricordare che tutti i commenti in Jira relativi alle menzioni di task da git verranno fatti a nome di questo utente. È quindi meglio crearne uno nuovo, chiamarlo, ad esempio, GitLab e aggiungerlo in Jira con diritti di write in tutti i tuoi progetti.
- Abbiamo bisogno di un utente GitLab con diritti di amministratore in ciascun progetto che stiamo collegando. Per ogni progetto l'integrazione viene configurata separatamente.
- In GitLab apriamo il progetto, andiamo su Impostazioni -> Integrazioni. Scorriamo verso il basso e vediamo Servizi di progetto con un lungo elenco di servizi che possono essere collegati.
- Troviamo in questo elenco Jira, appare un modulo

- Mettiamo il segno di spunta Active, per attivare il collegamento.
- Come si può vedere dal modulo, è possibile configurare separatamente il comportamento desiderato per i commit e le merge request.
- Inserire URL Web della vostra azienda in Jira, ad esempio ‘https://companyname.atlassian.net’
- URL API Jira — compilato se avete un'altra istanza Jira, altrimenti verrà utilizzato il valore predefinito URL Web.
- Campi Nome utente/Email e Password/Token compilati in base a se state usando Jira Server o Jira Cloud. In caso di Jira Server, inserite Nome utente e password dell'utente che aggiungerà i commenti. In caso di Jira Cloud, inserite l'email e il token che si può ottenere .
- Campo ID di transizione. Se volete che, ad esempio, menzionando il task esso venga automaticamente chiuso, in questo campo dovete inserire l'ID della transizione allo stato chiuso. Questo ID può essere ottenuto tramite API:
https://companyname.atlassian.net/rest/api/2/issue/ISSUENAME-123/transitionsdove ISSUENAME-123 è il nome di un task in uno stato desiderato. Riceverete un JSON con un array di transizioni da cui poter prendere l'ID necessario.
Di conseguenza in GitLab Impostazioni -> Integrazioni Jira ha ora un indicatore verde:

e nel menu del progetto apparirà un'opzione Jira, che porta al progetto corrispondente in Jira:
Uso:
Quando scriviamo un commento al commit (non importa quale strumento stiamo utilizzando per lavorare con git), possiamo aggiungere il nome dei task in forma testuale (senza virgolette o simboli speciali come @)
bugfix XPROJECT-123, XPROJECT-124in risposta al compito pertinente verrà aggiunto un commento:

e in GitLab apparirà un link attivo:

Fonte: habr.com



