Cómo integrar proyectos de Jira Service Management y Jira Software Cloud
En múltiples ocasiones tenemos la necesidad de integrar nuestro proyecto de soporte, de Jira Service Management, con nuestros proyectos de desarrollo, en Jira Software. Por ejemplo, para realizar un escalado de los tickets o para enviar esas peticiones a otros proyectos encargados de solucionarlas. En cualquiera de esas situaciones, necesitaremos que el ticket original que un cliente creó en el portal viaje al proyecto de Jira Software correspondiente. En la gran mayoría de los casos además, querremos mantener el ticket original, para poder comunicarnos con el cliente llegado el momento.
Si te encuentras en esta situación y no tienes claro cómo abordarla, te damos varias opciones y alternativas que te pueden ayudar. Cada una de ellas soporta una serie de funcionalidades y tienen unos pros y contra. Analiza bien todas las opciones antes de tomar una decisión. Si además, no tienes claro cómo realizar la implementación técnica, cuenta con nosotros para ayudarte en el proceso.
Las 3 opciones que recomendamos, tras haber realizado integraciones en diferentes entornos y haber exprimido las opciones al máximo, serían las siguientes:
- Integración utilizando Automation
- Integración utilizando la aplicación Scriptrunner for Jira
- Integración utilizando Exalate Jira Isues Sync
Vamos a ver el detalle de cada una de ellas y todos los elementos que tienes que tener en cuenta:
Integración utilizando Automation
Licenciamiento
Esta opción no requiere ninguna licencia a parte. Automation ya viene integrado de forma nativa en Jira Cloud. Por lo que es la opción más barata.
Funcionalidades soportadas
Estas serían las principales funcionalidades soportadas, que hemos probado y que verificamos que funcionan bien en el 100% de los casos.
- Permite clonar las tareas entre un proyecto de Jira Service Management y otro de Jira Software.
- Permite dejar ambas tareas enlazadas entre sí.
- Permite migrar los documentos adjuntos de la issue original de Jira Service Management a la nueva issue de Jira Software mediante un enlace.
Funcionalidades NO soportadas
Estas serían las funcionalidades que desde nuestro punto de vista tendrían que estar y que actualmente no son viables con esta opción de integración:
- La posibilidad de copiar comentarios entre un proyecto de Jira Software y otro de Jira Service Management, de tal forma que indiquemos si el comentario queremos compartirlo con el cliente o no. Básicamente, replicar la funcionalidad que de forma nativa tendríamos en Jira Service Management, y que en este caso como el ticket ya ha escalado a Jira Software, también queremos tener la posibilidad de poder hacerlo.
- La posibilidad de sincronizar el 100% de los estados, cuando la tarea de Jira Software vaya actualizándose. Está prevista en esta integración la sincronización al inicio y final del flujo de trabajo.
Puntos fuertes de esta solución:
- Implementación muy sencilla y sin necesidad de aplicaciones externas. Si en tu caso ya tienes una licencia de Jira Service Management Premium, mejor todavía, ya que no tendrás ningún problema con la limitación de ejecuciones de la regla de automation.
- Esta alternativa se puede usar incluso con el plan free de los productos (teniendo en cuenta las limitaciones, ejecuciones y capacidad de estos planes).
- El mantenimiento a largo plazo también es muy sencillo. Cualquier usuario con un mínimo conocimiento puede tocar la regla de automation y hacer ajustes siempre que lo necesite.
Puntos débiles de esta solución:
- La copia de los documentos adjuntos -por ahora- solo lo hemos resuelto vía url, pero es verdad que no se migra el documento adjunto tal cual.
- Hay que tener mucho cuidado con el límite de ejecuciones en los automatismos.
- La imposibilidad de identificar desde Jira Software si un comentario queremos que viaje a la issue de Jira Service Management, indicando además si queremos que sea visible o no por el cliente.
Recomendación
Realizar esta integración si te encuentras en un caso similar a este: los agentes de Nivel 1 están trabajando en Jira Service Management, y cuando escalan tickets a un Nivel 2 o Nivel 3, los atienden sus respectivos equipos en proyectos de Jira Software, sin necesidad de contacto con el cliente final. Solo el Nivel 1 tendría contacto con el cliente final.
Integración utilizando la aplicación Scriptrunner for Jira
Licenciamiento
Esta opción requiere de la adquisición de la licencia de Scriptrunner
Funcionalidades soportadas
Estas serían las principales funcionalidades soportadas, que hemos probado y que verificamos que funcionan bien en el 100% de los casos.
- Permite clonar las tareas entre un proyecto de Jira Service Management y otro de Jira Software.
- Permite dejar ambas tareas enlazadas entre sí.
- Permite migrar los documentos adjuntos de la issue original de Jira Service Management a la nueva issue de Jira Software, incluyendo el archivo original.
- Permite copiar comentarios entre ambos proyectos, indicando desde Jira Software si se trata de comentarios compartidos con el cliente, o comentarios internos para el equipo.
- Permite realizar cambios de estado sincronizados entre ambos proyectos.
Funcionalidades NO soportadas
Estas serían las funcionalidades que desde nuestro punto de vista tendrían que estar y que actualmente no son viables con esta opción de integración:
- Hay un límite de tamaño para los adjuntos que puede llegar al time out de Scriptrunner si no es capaz de moverlo. Por lo que si necesitas mover adjuntos de gran tamaño, tienes que tener en cuenta que esta funcionalidad no es posible.
Puntos fuertes de esta solución:
- Incluso los archivos adjuntos se pueden migrar de un ticket a otro con total transparencia y manteniendo el formato del archivo original.
- La sincronización es total entre ambos proyectos. Por lo que los usuarios de Jira Software podrían estar trabajando en sus tareas, haciendo que cualquiera de sus acciones se replique también en la tarea de Jira Service Management.
Puntos débiles de esta solución:
- Necesidad de contratar aplicación externa, lo que supone un aumento en el coste de licenciamiento.
- No se puede usar el plan free de los productos (hay que crear roles para aplicar esta solución, y esto no es posible con la licencia free)
- Scriptrunner notifica cualquier tipo de error o fallo en el script. Por lo que recibiremos emails de forma recurrente ante cualquier pequeña modificación o fallo en el script.
- Hay que tener mucho cuidado con los cambios que Atlassian realiza en la API de Jira, ya que estos podrían afectar al código que se ha implementado. Requiere de un mantenimiento continuo por los administradores.
- Hay que tener unos conocimientos mínimos sobre scripting para poder implementar y mantener esta solución.
Recomendación
Realizar esta integración si necesitas que todos tus agentes, sean del Nivel que sean, tengan comunicación directa con el cliente y puedan trabajar desde Jira Software, exactamente igual que si lo hicieran desde Jira Service Management. Ten en cuenta además que la aplicación Scriptrunner tiene muchas otras posibilidades que podrás aprovechar para hacer mejoras en tu instancia.
Integración utilizando Exalate Jira Isues Sync
Licenciamiento
Esta opción requiere de la adquisición de la licencia de Exalate Jira Issue Sync
Funcionalidades soportadas
Estas serían las principales funcionalidades soportadas, que hemos probado y que verificamos que funcionan bien en el 100% de los casos. Serían las mismas que en el caso de la opción de integración con Scriptrunner.
- Permite clonar las tareas entre un proyecto de Jira Service Management y otro de Jira Software.
- Permite dejar ambas tareas enlazadas entre sí.
- Permite migrar los documentos adjuntos de la issue original de Jira Service Management a la nueva issue de Jira Software, incluyendo el archivo original.
- Permite copiar comentarios entre ambos proyectos, indicando desde Jira Software si se trata de comentarios compartidos con el cliente, o comentarios internos para el equipo.
- Permite realizar cambios de estado sincronizados entre ambos proyectos.
Funcionalidades NO soportadas
En principio esta solución, soporta todas las funcionalidades que consideramos necesarias hasta la fecha.
Puntos fuertes de esta solución:
- Incluso los archivos adjuntos se pueden migrar de un ticket a otro con total transparencia y manteniendo el formato del archivo original.
- La sincronización es total entre ambos proyectos. Por lo que los usuarios de Jira Software podrían estar trabajando en sus tareas, haciendo que cualquiera de sus acciones se replique también en la tarea de Jira Service Management.
- Aunque se produzca alguna modificación por parte de Atlassian en la API de Jira, que pueda alterar el código implantado, será el fabricante de Exalate el que realizará la actualización necesaria.
Puntos débiles de esta solución:
- Si las claves de los proyectos cambian, tendremos que actualizarlas en la aplicación a mano, para que la integración continúe funcionando.
- Si la sincronización afecta a muchos campos o la configuración del proyecto es excesivamente completa, podría llevar muchísimo tiempo.
- Hay que tener unos conocimientos mínimos sobre la aplicación para poder implementarla y realizar algún cambio.
Recomendación
Realizar esta integración si necesitas que todos tus agentes, sean del Nivel que sean, tengan comunicación directa con el cliente y puedan trabajar desde Jira Software, exactamente igual que si lo hicieran desde Jira Service Management.
Conclusión
Como en otras ocasiones hemos comentado, es de vital importancia entender bien el ecosistema en el que trabajamos, cuál es la necesidad, qué queremos conseguir… Sólo cuando tengamos realmente toda la información, podremos tomar la mejor decisión posible para realizar esta integración
En el ecosistema de Jira Cloud cualquiera de estas 3 opciones planteadas irá evolucionando según aparezcan mejoras en los productos de Atlassian y en las aplicaciones de terceros.
Esperamos que este artículo te haya servido de ayuda y que hayas podido resolver las dudas iniciales sobre este tema. Si no es así, escríbenos y te asesoramos.
María Ferreño. 9 de marzo de 2023