Vinculación con JIRA¶
JIRA - Github¶
Dentro de nuestro esquema de trabajo habitual utilizamos JIRA cómo herramienta de Gestión para las tareas de desarrollo, testing e inclusive diseño.
Esto le permite al negocio y a los indicadores cómo estamos a nivel gestión y entregas de los proyectos de Software.
Para que efectivamente estén vinculadas las tareas de JIRA con nuestro avance en el desarrollo debemos vincularla a las tareas de tipo desarrollo por lo que existen varias formas de hacerlo:
Tablero de JIRA y tarea de desarrollo de los ejemplos
A efectos de los ejemplos consideramos que estamos trabajando en el tablero de JIRA ABC
y que la tarea que estamos realizando es ABC-123
.
1. Desde el Pull Request | Recomendado
Al momento de crear un Pull Request podemos hacer referencia a la tarea de JIRA que estamos realizando. Para ello debemos agregar la clave de incidencia así como el prefijo que levanta una versión (en el caso de necesitarlo) en el título del Pull Request. Por ejemplo: feat(ABC-123): Se agrega funcionalidad de login
.
Desde Arquitectura recomendamos hacer squash merge, que básicamente une todos los commits en uno solo con el titulo del PR, por lo que el ticket de JIRA o la clave de incidencia tiene que estar en el título del PR así como la convención de commits: feat(ABC-123): Se agrega funcionalidad de login"
, para que funcione correctamente el proceso de CICD.
El commit termina siendo el título del PR en el squash merge.
Merge Commit
Si por algún motivo lo haces con merge commit. Debes tener la clave de incidencia en el nombre de la rama: git commit -m "Merge branch 'feat/ABC-123_func_login' into main"
o algúno de los commits debe tener la clave de incidencia en el mensaje: git commit -m "fix(ABC-123): Se corrigen estilos generales del layout"
.
2. Desde el commit
Al momento de realizar un commit podemos hacer referencia a la tarea de JIRA que estamos realizando. Para ello debemos agregar el número de la tarea en el mensaje del commit. Por ejemplo: git commit -m "feat(ABC-123): Se agrega funcionalidad de login"
3. Desde el nombre del branch
Con la clave de incidencia en el nombre del branch. Por ejemplo: feat/ABC-123_func_login
.
4. Desde la interfaz de JIRA
En la tarea de desarrollo podemos hacer click en Create Branch
y automáticamente se creará una rama con el nombre de la tarea, o copiando el nombre sugerido y generando una rama desde la terminal, o desde la interfaz de github.
Si sólo tienes la rama con la clave de Incidencia y nada más
Si usas esta opción asegurate de usar merge commit.
Ya que esto dejaría el commit cuando se mergea como Merge branch 'feat/ABC-123_func_login' into main
y se vincularía correctamente.
Una vez que realizamos eso vamos a poder ver el estado de nuestros pull request, compilaciones (si pasa o no nuestras github actions) así como en que entorno está desplegado
Proximamente 🚧¶
Uno de los resultados nuevos que estamos implementando en los nuevos pipelines de devOps también es la correlación de los releases de Github a JIRA, por lo que si realizamos un release en Github, automáticamente se va a generar un release en JIRA con información básica, debido a limitaciones técnicas no podemos agregar más información a través de la API de JIRA, pero va a tener relación de versión y changelog.
Este release va a aparecer también como puntos en la historia a destacar del cronograma