Guía completa para lograr la integración: ServiceNow – Jira 2020

En ésta guía, analizaremos la necesidad de integrar incidentes de ServiceNow con Issues de Jira (Aunque este proceso también aplica para otras entidades, como Problemas, Casos, Solicitudes de Cambio, etc.).

Cubriremos por qué los administradores configuran la integración ServiceNow Jira, cómo elegir la tecnología correcta para configurar la integración, y el proceso paso a paso para la integración.

Nota: En este tutorial, usaremos una herramienta de integración llamada Exalate. Aprenderás más acerca de ello, así como de otras opciones de integración, a lo largo de ésta guía.

Este es un resumen de lo que cubrirem

¿Por qué integrar ServiceNow con Jira?

Pensando en Administración de Servicios de TI, ServiceNow se ha convertido en una opción popular entre CIOs y encargados de departamentos de TI.

Iniciando como una innovadora plataforma de nicho para administrar procesos de ITSM basados en ITIL, ServiceNow ha tomado mucho auge en los últimos años. Actualmente cuentan con más de 20,000 clientes en todo el mundo y creciendo rápidamente.

Por otro lado, al pensar en desarrollo de software ágil, Jira es la primera opción que se viene a la mente.

Como parte de la oferta de productos de Atlassian, Jira administra tareas y proyectos para equipos de software, y se integra de forma rápida y sencilla con el resto de los productos de Atlassian. En pocas palabras, para muchos equipos de software, Jira es la opción natural para administración de tareas y proyectos. Especialmente cuando los equipos utilizan también el resto de los productos de Atlassian.

Con éste posicionamiento entre ServiceNow y Jira en los espacios de Administración de Servicios de TI y desarrollo de software, la necesidad para una integración se vuelve obvia.

A continuación, sumarizamos 2 ejemplos de escenarios posibles

1. El departamento de TI de una compañía utiliza ServiceNow para ofrecer a los usuarios un portal único para todos sus servicios de TI. Esto incluye reportar problemas de aplicaciones de software. Los equipos de desarrollo de software utilizan Jira para administrar sus tareas y proyectos, y generalmente prefieren la suite de Atlassian porque es utilizada tanto para programar como para colaborar.

  • Los incidentes reportados por un usuario en ServiceNow deben ser redirigidos a Jira como una tarea para ser resuelta por el equipo de software.
  • Cuando el equipo de software encuentra problemas de infraestructura, estos deben ser re dirigidos a ServiceNow como un incidente.

2. Una compañía utiliza ServiceNow para ITSM y uno o más paquetes de software son provistos por un vendedor externo de software. Éste vendedor utiliza Jira para monitorear los incidentes. El incidente en ServiceNow debe ser creado como una tarea en Jira.

Cómo elegir la tecnología

Al diseñar una integración entre dos herramientas de tickets, hay tres aspectos a considerar:

  • Autonomía: Ambas herramientas deben tener los medios para controlar qué información es enviada y cómo la información recibida es interpretada. Los cambios en cualquiera de las herramientas no deben romper la integración, sino que deben poder reflejarse fácilmente en la integración.
  • Estabilidad: Una integración es estable cuando siempre funciona para el usuario – incluso cuando la otra aplicación no está disponible, por la razón que sea (por ejemplo, mantenimiento). La capacidad para mantener la operación durante mantenimiento es importante para asegurar una integración de alta disponibilidad.
  • Flexibilidad en configuración: La integración permite traducir las diferencias entre los dos sistemas. Un primer paso obligatorio es la capacidad de traducir los atributos de la comunicación entre ambos. Un segundo paso es tener la flexibilidad para alinear las diferencias de los procesos entre equipos/organizaciones.

Para ésta guía, realizaremos la integración utilizando Exalate, precisamente porque fue construido para cumplir con los requerimientos mencionados y cumple con los criterios de los escenarios descritos en la integración ServiceNow Jira.

Más adelante mostraremos a más detalle cómo Exalate resuelve los aspectos mencionados; pero primero, veamos paso a paso cómo hacer la integración.

Cómo configurar la integración ServiceNow

Paso 1: Instala Exalate en tu instancia ServiceNow

Para instalar Exalate en tu instancia de ServiceNow, debes utilizar un “update set”.

Puedes encontrar las instrucciones paso a paso para instalar el agente de Exalate en ServiceNow, siguiendo las instrucciones descritas en la documentación: Instalar Exalate en tu instancia de ServiceNow.

Paso 2: Instala Exalate en tu instancia Jira

Exalate debe estar instalado en ambos lados de la integración. Esto significa que es necesario instalar Exalate tanto en Jira como en ServiceNow. Este proceso es como instalar cualquier otra app de Jira.

Puedes encontrar las instrucciones paso a paso para instalar Exalate en Jira en las siguientes ligas:

Paso 3: Conoce la vista de la consola de Exalate

La consola de Exalate provee una interfaz de usuario para que los administradores puedan configurar y mantener la integración.

Después de la instalación, la consola de Exalate debe ser accesible como una aplicación en la instancia de ServiceNow.

Del lado de Jira, las opciones de configuración se muestran también como una aplicación:

Con la consola de Exalate podrás crear/mantener tu configuración, así como visualizar los queues de sincronización y revisar/resolver errores.

Estas capacidades ayudarán a mantener la integración de forma eficiente.

Paso 4: Establece una conexión entre Jira y ServiceNow

1. Envía un código de invitación

Una vez que Exalate está instalado tanto en ServiceNow como en Jira, es necesario establecer una conexión entre ambos. Cualquiera de las aplicaciones puede iniciar la conexión o aceptar la invitación.

En los siguientes links puedes encontrar más información de cómo establecer la conexión entre los dos sistemas:

La conexión se puede resumir de la siguiente manera. Primero, debes de iniciar una conexión en la pestaña de Connections.

Después debes elegir el tipo de conexión. Puedes hacerlo independientemente de si el otro lado está accesible o no.

Después, debes elegir una de las plantillas de reglas de sincronización. Veremos esto a más detalle en el paso 4. Por ahora, solo especifica un nombre de conexión y da clic en “Initiate Connection”:

Esto generará un código de invitación. Debes copiarlo para que el otro lado pueda aceptar la invitación.

2. Acepta el código de invitación

Entra a la pestaña de “Connections” y selecciona la opción de “Accept Invitation”. Pega el código generado en el paso anterior.

El código será validado automáticamente una vez que des clic en “Next”. El tipo de conexión será configurado automáticamente dependiendo de la invitación.

Podrás configurar las reglas de sincronización para éste lado de forma independiente, de manera que cada lado pueda mantenerse autónomo. En el paso 4 veremos más a detalle ésta configuración.

Una vez que se acepta la invitación y la conexión ha sido establecida, podemos configurar una regla que servirá como el desencadenador de la sincronización.

3. Configura los triggers de sincronización para determinar cuando sincronizar

Una vez que la conexión entre ServiceNow y Jira se ha establecido, el trabajo principal de la integración puede comenzar.

*Configura reglas de sincronización comunes entre ambos lados

En este punto, es necesario determinar cuándo un incidente en ServiceNow debe crear un issue en Jira y viceversa. Éste acuerdo puede ser definido en ServiceNow Exalate y en Jira Exalate de forma independiente, permitiendo todos los escenarios posibles.

*Configura un desencadenador automático para la sincronización

Si los administradores han determinado que debe crearse un issue en Jira cuando un incidente sea asignado al grupo de asignación “Jira Service Desk”.

El desencadenador definido en Exalate ServiceNow se verá de la siguiente manera:

Si, al mismo tiempo, acuerdan que cuando en Jira se crea un issue de tipo “ServiceNow” también debe crear un incidente en ServiceNow, se verá de la siguiente manera:

Paso 4: Configura la conexión para determinar qué información enviar

Cuando un incidente en ServiceNow cumpla las condiciones definidas en el disparador, Exalate ServiceNow recibirá acceso al incidente a través del REST API.

Configura la sincronización de salida

La información a enviar a Jira Exalate está definida en Connection Sync Rules -> Outgoing sync.

  • Replica.<attributos> representa los atributos del mensaje. En nuestro caso, representa a Jira Exalate.
  • Issue.<attributos> representa los atributos del registro local. En nuestro caso, representa a ServiceNow Exalate.

El ejemplo mencionado es un mapeo estándar de Exalate. Sin embargo, se pueden utilizar scripts de groovy para definir mapeos más complejos. Así mismo, Exalate provee diversos Script Helpers para reducir el esfuerzo de scripting manual.

Configura la sincronización de entrada

La sincronización de entrada determinará cómo será interpretada la información recibida.

Las reglas de cómo interpretar la información entrante también se configura en la pantalla de Connection Sync Rules. En ServiceNow Exalate existe una distinción para cuando un incidente es creado o actualizado.

En el siguiente ejemplo, se define almacenar el link al issue de Jira en el atributo correlation_id del incident de ServiceNow. El atributo correlation_name se asignará como Exalate.

Al igual que en las reglas de sincronización de salida, podemos usar scripts de groovy para mapeos más complejos.

El ejemplo a continuación muestra cómo mapear estados de incidentes de ServiceNow a estados de issues de Jira.

Información adicional de Exalate como una solución de integración

Dado que utilizamos Exalate para configurar la integración Jira ServiceNow, es posible que tengas dudas respecto a ésta solución. A continuación explicamos un poco más acerca de la arquitectura y seguridad de Exalate.

Autonomía en arquitectura

La arquitectura básica de Exalate como un habilitador de integración entre dos sistemas se muestra a continuación:

En éste escenario, Tracker (Blue) sería tu instancia de ServiceNow, mientras que Tracker (Red) sería tu instancia de Jira Server o Cloud.

Tracker (Blue) y Tracker (Red) tienen cada uno su agente de Exalate.

  • Las letras de la A a la F describen el flujo de información entre los dos sistemas. ServiceNow y Jira se comunican a través de sus propios agentes de Exalate, manteniendo la autonomía de tu sistema.
  • El agente de Exalate controla qué información es enviada y cómo la información recibida es mapeada.
  • El agente de Exalate está disponible para ServiceNow, Jira Cloud, Jira On-Premise, HP ALM/QC, Github, Zendesk, Azure DevOps y más por venir.

Seguridad

Exalate es un middleware inteligente que transporta datos entre ServiceNow y Jira, o cualquier otra de las aplicaciones soportadas.

Las consideraciones de seguridad están descritas a detalle en el siguiente whitepaper: “Exalate Security and Architecture Whitepaper”.

La imagen a continuación explica los diferentes modelos de despliegue soportados por Exalate. Exalate para ServiceNow puede ser desplegado ya sea en la nube u On-Premise.

Comparación entre Exalate e Integration Hub con Jira

ServiceNow tiene una funcionalidad llamada IntegrationHub, la cual permite integraciones reutilizables con terceros y llamarlos desde dentro de la plataforma de ServiceNow.

El IntegrationHub requiere de una suscripción adicional como usuario de ServiceNow.

El paquete estándar de IntegrationHub incluye integración a Jira con una cantidad limitada de acciones que permiten a ServiceNow administrar issues, historias y grupos en Jira, además de recibir datos de Jira para utilizarlos en un flujo.

 La versión 2.5 del Jira Spoke utiliza webhooks bi-direccionales y se suscribe a Jira con una URL de callback hacia ServiceNow.

*Trad. Post: “How to Set up a ServiceNow Jira Integration: the Comprehensive 2020 Guide”


Si deseas una demostración de la funcionalidad de Exalate, apoyo con el licenciamiento o configuración, nosotros podemos apoyarte enviándonos un correo a ventas@enevasys.com, te contactaremos a la brevedad.