Gestión automática de incidentes con Jira y Statuspage
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.
Busca y selecciona Incidencia creada.
Haz clic en el botón Guardar para continuar.
Paso 2. Crear una nueva condición
A continuación, busca y selecciona la condición Campos de incidencia.
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.
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.
Paso 4. Crear la acción Editar incidencia
Por último, busca y selecciona la 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.
En la siguiente captura de pantalla se muestra el resumen final de esta 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.
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.
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.
El componente de solicitud web se ha vuelto a copiar y modificar con respecto a las reglas anteriores.
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.
Compartir este artículo
Siguiente tema
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.