L'objectif
Lors d'un commit dans git, nous mentionnons dans le commentaire une tâche de Jira par son nom, après quoi deux choses se produisent :
- dans GitLab, le titre de la tâche devient un lien actif vers celle-ci dans Jira
- dans Jira, un commentaire est ajouté à la tâche avec des liens vers le commit et l'utilisateur qui l'a effectué, ainsi que le texte de la mention
Configuration
- Nous avons besoin d'un utilisateur Jira avec des droits de niveau write. Nous pouvons utiliser un utilisateur existant, il est important de se rappeler que tous les commentaires dans Jira lors de la mention de tâches depuis git seront postés au nom de cet utilisateur, il est donc préférable de créer un nouvel utilisateur, de l'appeler, disons, GitLab, et de l'ajouter à Jira avec des droits write dans tous vos projets.
- Nous avons besoin d'un utilisateur GitLab avec des droits administratifs dans chacun des projets que nous allons connecter. Pour chaque projet, l'intégration est configurée séparément.
- Dans GitLab, nous ouvrons le projet, nous allons dans Settings -> Intégrations. Nous descendre dans la page, nous voyons Services de projet avec une longue liste de services que nous pouvons connecter.
- Nous trouvons dans cette liste Jira, un formulaire apparaît

- Nous cochons la case Actif, afin d'activer le lien.
- Comme on peut le voir dans le formulaire, il est possible de configurer séparément le comportement souhaité pour les commits et les merge requests.
- Nous saisissons l'URL Web de votre entreprise dans Jira, par exemple 'https://companyname.atlassian.net'
- l'URL de l'API Jira — se remplit si vous avez une autre instance de Jira, par défaut la valeur sera utilisée l'URL Web.
- Champs Nom d'utilisateur/Email et Mot de passe/Token sont remplis selon que vous utilisez Jira Server ou Jira Cloud. Dans le cas de Jira Server, vous devez entrer le nom d'utilisateur et le mot de passe de l'utilisateur sous lequel les commentaires seront ajoutés. Pour Jira Cloud, vous entrez l'email et le token, que l'on peut obtenir .
- Champ ID de transition(s). Si vous souhaitez, par exemple, que lors de la mention d'une tâche, elle soit automatiquement fermée, vous devez spécifier l'ID de transition vers l'état fermé dans ce champ. Cet ID peut être obtenu via l'API :
https://companyname.atlassian.net/rest/api/2/issue/ISSUENAME-123/transitionsoù ISSUENAME-123 est le nom d'une tâche dans l'état requis. Vous obtiendrez un JSON avec un tableau de transitions, à partir duquel vous pourrez prendre l'ID dont vous avez besoin.
En conséquence, dans GitLab, Settings -> Intégrations Jira a maintenant un indicateur vert :

et un élément apparaîtra dans le menu du projet Jira, qui mène au projet correspondant dans Jira :
Utilisation :
Lorsque nous écrivons un commentaire pour un commit (peu importe quel outil nous utilisons pour travailler avec git), nous pouvons ajouter le nom des tâches sous forme textuelle (sans guillemets ni symboles spéciaux comme @)
bugfix XPROJECT-123, XPROJECT-124un commentaire sera ajouté à la tâche correspondante :

et un lien actif apparaîtra dans GitLab :

Source : habr.com



