El objetivo
Al hacer un commit en git, mencionamos en el comentario alguna tarea de Jira por su nombre, después de lo cual suceden dos cosas:
- en GitLab el nombre de la tarea se convierte en un enlace activo a ella en Jira
- en Jira se añade un comentario a la tarea con enlaces al commit y al usuario que lo realizó, así como el texto de la mención
Configuración
- Necesitamos un usuario de Jira con derechos de nivel write. Se puede utilizar un existente, es importante recordar que todos los comentarios en Jira al mencionar tareas de git aparecerán a nombre de este usuario, por lo que es mejor crear uno nuevo, llamarlo, digamos, GitLab, y añadirlo a Jira con derechos de write en todos tus proyectos.
- Necesitamos un usuario de GitLab con derechos de administrador en cada uno de los proyectos que conectaremos. La integración se configura de manera independiente para cada proyecto.
- En GitLab abrimos el proyecto, entramos en Configura -> Integraciones. Desplazamos hacia abajo, vemos Servicios del proyecto con una larga lista de servicios que se pueden conectar.
- Encontramos en esta lista Jira, aparece un formulario

- Marcaremos la casilla Activo, para activar la conexión.
- Como se puede ver en el formulario, se puede configurar el comportamiento deseado para commits y merge requests por separado.
- Ingresamos la URL web de tu empresa en Jira, por ejemplo ‘https://companyname.atlassian.net’
- la URL de la API de Jira — se llena si tienes otra instancia de Jira, por defecto se usará el valor la URL web.
- Campos Nombre de usuario/Email y Contraseña/Token se completan según si usas Jira Server o Jira Cloud. En el caso de Jira Server, ingresas el nombre de usuario y la contraseña del usuario que añadirá los comentarios. En el caso de Jira Cloud, ingresas el email y el token, que se puede obtener .
- Campo IDs de transición. Si deseas, por ejemplo, que al mencionar una tarea se cierre automáticamente, en este campo debes escribir el ID de la transición al estado cerrado. Este ID se puede obtener a través de la API:
https://companyname.atlassian.net/rest/api/2/issue/ISSUENAME-123/transitionsdonde ISSUENAME-123 es el nombre de alguna tarea en el estado deseado. Recibirás un JSON con un array de transiciones, del cual puedes tomar el id necesario.
Como resultado, en GitLab en Configura -> Integraciones Jira ahora tiene un indicador verde:

y en el menú del proyecto aparecerá un ítem Jira, que lleva al proyecto correspondiente en Jira:
Uso:
Cuando escribimos un comentario al commit (no importa qué herramienta estamos usando para trabajar con git), podemos agregar el nombre de las tareas en texto plano (sin comillas ni símbolos especiales como @)
bugfix XPROJECT-123, XPROJECT-124como resultado, se añadirá un comentario a la tarea correspondiente:

y aparecerá un enlace activo en GitLab:

Fuente: habr.com



