Close

Gestión automática de incidentes con Jira y Statuspage

Primer plano de Kev Zettler
Kev Zettler

Desarrollador web de pila completa, DevOps

Obtén información sobre cómo usar las reglas de Jira Automation para sincronizar automáticamente Statuspage con las incidencias de Jira.

Duración

Lectura de 5 minutos.

Público

Eres un usuario experimentado de Jira Software y tienes una cuenta de Statuspage.

Requisitos previos

Necesitarás un proyecto de Jira activo con un tipo de tarea personalizado de "Incidente" y un campo personalizado "ID de incidente". Empieza a usar Jira aquí.

Necesitarás una cuenta de Statuspage con acceso a la API habilitado. También necesitarás tu clave de la API de Statuspage y el código de página para configurar las siguientes reglas de automatización. Consulta la guía de la API de Statuspage para localizar tus claves de la API de Statuspage. Empieza a usar Statuspage aquí.

Paso 1. Añadir automatización

Haz clic en el botón Añadir automatización y, a continuación, selecciona la opción Incidencia.

Haz clic en: Añadir automatización; selecciona: Incidencia

Busca y selecciona Incidencia creada.

Nuevo desencadenador. Los desencadenadores inician la ejecución de una regla. Los desencadenadores pueden escuchar eventos o programarse para que se ejecuten.

Haz clic en el botón Guardar para continuar.

Incidencia creada. La regla se ejecuta cuando se crea una incidencia. Este desencadenador no necesita configuración.

Paso 2. Crear una nueva condición

A continuación, busca y selecciona la condición Campos de incidencia.

Selecciona la condición Campos de incidencia en Nueva condición. De este modo, se comprueba si el campo de una incidencia cumple determinados criterios.

Utiliza la condición Campos de incidencia para comprobar si el tipo de incidencia es un incidente y actuar en consecuencia. Configura la condición Campos de incidencia para que el campo Tipo de incidencia sea igual a Incidente. Haz clic en Guardar para continuar.

Utiliza la condición Campos de incidencia para comprobar si el tipo de incidencia es un incidente y actuar en consecuencia. Configura la condición Campos de incidencia para que el campo Tipo de incidencia sea igual a Incidente. Haz clic en Guardar para continuar.

Paso 3. Enviar una solicitud web

Selecciona Enviar solicitud web, que actualizará Statuspage.

Nueva acción. Selecciona Enviar solicitud web

Para configurar la acción Enviar solicitud web, necesitarás tu clave de la API de Statuspage y el código de página. Estos valores se encuentran en la documentación de Statuspage. Enviar solicitud web es una acción avanzada con valores de entrada confidenciales. Más adelante en esta guía, esta acción se reproducirá en reglas adicionales y hará referencia a esta configuración.

En el campo URL de webhook, introduce la URL del extremo de incidentes de Statuspage:
https://api.statuspage.io/v1/pages/your-page-code/incidents

Reemplaza la variable your-page-code por tu código de página de Statuspage. En la sección de encabezados, introduce Authorization:OAuth y tu clave de API en los dos campos de encabezado.

Establece los campos Método HTTP en POST y Cuerpo del webhook en Datos personalizados.

Asegúrate de marcar la casilla Esperar respuesta, ya que utilizarás los valores de la respuesta a la solicitud web en componentes adicionales.

El campo Datos personalizados incluye código que define una carga de incidente para la API de Statuspage. Este código utiliza valores inteligentes para extraer y añadir el resumen de la incidencia a la carga. En la siguiente captura de pantalla se muestra la configuración completa de la acción Enviar solicitud web. Haz clic en Guardar para continuar.

Enviar solicitud web

Paso 4. Crear la acción Editar incidencia

Por último, busca y selecciona la acción Editar incidencia.

Nueva acción: Editar incidencia

La acción Editar incidencia extrae el ID de incidente de la solicitud de Statuspage y lo almacena en el campo personalizado ID de incidente. El ID de incidente se extrae mediante valores inteligentes. En la siguiente captura de pantalla se muestra cómo configurar el componente Editar incidencia.

Editar incidencia. Establecer valores para los campos sobre la incidencia

En la siguiente captura de pantalla se muestra el resumen final de esta regla.

El resumen final de la regla

Esta regla ya está lista para habilitarse. Introduce un nombre para esta regla y haz clic en el botón Activar. Los datos de esta regla se utilizarán para crear las siguientes reglas.

Actualizar Statuspage cuando se comente una incidencia

La siguiente regla se desencadena cuando se deja un comentario en un tipo de incidencia "Incidente". Se realiza una solicitud web a Statuspage que actualiza el incidente correspondiente con el contenido del comentario. En la imagen siguiente se muestra el resumen de los componentes de esta regla.

Comentario de Statuspage sobre el incidente

El componente importante que se debe revisar en esta regla es la acción Enviar solicitud web. Esta acción se copia de la regla anterior, pero con algunos cambios.

La URL del webhook se ha anexado con /{{issue.incident_id}}. Los valores inteligentes se utilizan para extraer el campo personalizado ID de incidente de la incidencia y pasarlo a Statuspage como destino de la solicitud web.

El método HTTP se establece ahora en PATCH en lugar de POST. Esto indica a Statuspage que actualice un incidente existente en lugar de crear uno nuevo.

El campo de datos personalizado se modifica para incluir código que utiliza valores inteligentes para extraer el cuerpo del comentario de la incidencia y colocarlo en el cuerpo del contenido del incidente.

Comentario de Statuspage sobre el incidente
Enviar solicitud web

Cerrar el incidente de Statuspage cuando el estado de la incidencia cambie a Finalizada.

Esta última regla las une todas. Esta regla indica a Statuspage que un incidente está resuelto cuando el estado de la incidencia de Jira correspondiente cambia a Finalizada. En la imagen siguiente se muestra el resumen de la regla.

Comentario de Statuspage sobre el incidente

El componente de solicitud web se ha vuelto a copiar y modificar con respecto a las reglas anteriores.

Enviar solicitud web

El campo de datos personalizados se ha modificado para establecer el estado del incidente en "Resuelto". Esta es la única modificación con respecto a la regla de comentario anterior.

Estas reglas ya están listas para su uso. Puedes probarlas creando incidencias de tipo incidente y realizando interacciones de desencadenador. Puedes supervisar el comportamiento de las reglas en el Registro de auditoría de automatización, que proporciona el registro e información sobre el comportamiento de las reglas. Las reglas de automatización que se muestran en esta guía son excelentes ejemplos de reglas de uso avanzadas de la API de solicitudes web.

Consulta cientos de ejemplos más en nuestra biblioteca de plantillas de automatización.

Kev Zettler
Kev Zettler

Kev es un coordinador de desarrollo web de pila completa y emprendedor en serie con más de una década de experiencia en la creación de productos y equipos con metodologías ágiles. Es un entusiasta colaborador, escritor y formador en tecnologías emergentes de código abierto como DevOps, criptomonedas y realidad virtual y aumentada. En su tiempo libre, participa en sesiones de desarrollo de videojuegos independientes.


Compartir este artículo

Lecturas recomendadas

Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.

Ilustración de Devops

La comunidad de DevOps

Ilustración de Devops

Ruta de aprendizaje de DevOps

Ilustración de un mapa

Pruébalo gratis

Suscríbete para recibir el boletín de DevOps

Thank you for signing up