Close

Gestione automatica degli imprevisti con Jira e Statuspage

Foto di Kev Zettler
Kev Zettler

Full Stack Web Developer, DevOps

Scopri come utilizzare le regole di automazione di Jira per sincronizzare automaticamente Statuspage con i ticket Jira.

Time

5 minute read.

Audience

You’re an experienced user of Jira Software and have a StatusPage account.

Prerequisites

You will need an active Jira project with a custom task type of “Incident” and a custom field “Incident ID”. Get started with Jira here.

You will need a StatusPage account with API access enabled. You will also need your StatusPage API key and Page Code to configure the following automation rules. Check out the StatusPage API guide to locate your StatusPage API keys. Get started with StatusPage here.

Passaggio 1. Aggiungi l'automazione

Clicca sul pulsante Add automation (Aggiungi automazione) e quindi seleziona l'opzione Issue (Ticket)

Clicca su: Add automation (Aggiungi automazione); seleziona: Issue (Ticket)

Cerca e seleziona Issue Created (Ticket creato).

Nuovo trigger. I trigger avviano l'esecuzione di una regola. I trigger possono ascoltare gli eventi o essere programmati per l'esecuzione.

Clicca sul pulsante Save (Salva) per continuare.

Ticket creato La regola viene eseguita quando viene creato un ticket. Questo trigger non richiede alcuna configurazione.

Passaggio 2. Crea una nuova condizione

Cerca e seleziona Issue fields condition (Condizione campi ticket).

Seleziona Issue fields condition (Condizione campi ticket) in New condition (Nuova condizione). In questo modo viene verificato se il campo di un ticket soddisfa determinati criteri.

Utilizza la Condizione campi ticket per verificare se il tipo di ticket è un Imprevisto e intraprendere l'azione opportuna. Configura Condizione campi ticket in modo che il campo Issue Type (Tipo di ticket) sia equal (uguale) a Incident (Imprevisto). Clicca su Save (Salva) per continuare.

Utilizza la Condizione campi ticket per verificare se il tipo di ticket è un Imprevisto e intraprendere l'azione opportuna. Configura Issue fields condition (Condizione campi ticket) in modo che il campo Issue Type (Tipo di ticket) sia uguale a Incident (Imprevisto). Clicca su Save (Salva) per continuare.

Passaggio 3. Invia una richiesta Web

Seleziona Send web request (Invia richiesta Web), in modo da aggiornare la pagina Statuspage.

Nuova azione. Seleziona Send web request (Invia richiesta Web)

Per configurare l'azione Invia richiesta Web sono necessari la chiave API di Statuspage e il codice della pagina. Questi valori sono disponibili nella documentazione di Statuspage. Invia richiesta Web è un'azione avanzata con valori di input sensibili. Più avanti in questa guida, l'azione verrà riprodotta in regole aggiuntive e farà riferimento a questa configurazione.

Nel campo Webhook URL (URL webhook), immetti l'URL dell'endpoint degli imprevisti di Statuspage:
https://api.Statuspage.io/v1/pages/your-page-code/incidents

Sostituisci il segnaposto del codice della tua pagina con il codice della pagina Statuspage. Nella sezione delle intestazioni, inserisci Authorization:OAuth e la tua chiave API nei due campi di intestazione.

Imposta il campo HTTP Method (metodo HTTP) su POST e il campo Webhook body (Corpo webhook) su Custom Data (Dati personalizzati).

Assicurati di selezionare la casella di controllo Wait For Response (Attendi risposta) poiché utilizzerai i valori della risposta alla richiesta Web in componenti aggiuntivi.

Il campo Custom Data (Dati personalizzati) include il codice che definisce un payload dell'imprevisto per l'API di Statuspage. Questo codice utilizza valori intelligenti per estrarre e aggiungere il riepilogo del ticket al payload. Nello screenshot seguente è visualizzata la configurazione completa dell'azione Send web request (Invia richiesta Web). Clicca su Save (Salva) per continuare.

Invia richiesta Web

Passaggio 4. Creazione dell'azione Modifica ticket

Infine, cerca e seleziona l'azione Edit Issue (Modifica ticket).

Nuova azione: Modifica ticket

L'azione Modifica ticket estrae l'ID imprevisto dalla richiesta Statuspage e lo memorizza in un campo personalizzato ID imprevisto. L'ID imprevisto viene estratto utilizzando valori intelligenti. La screenshot seguente illustra come configurare questo componente Modifica ticket.

Modifica ticket Imposta i valori per i campi relativi al ticket

Lo screenshot seguente visualizza il riepilogo finale di questa regola.

Il riepilogo finale della regola

La regola ora è pronta per essere abilitata. Immetti un nome per la regola e clicca su pulsante Turn it on (Attiva). I dati di questa regola verranno utilizzati per creare le regole seguenti.

Aggiornamento di Statuspage quando vengono aggiunti commenti a un ticket.

La regola successiva si attiva quando viene lasciato un commento su un tipo di ticket "Imprevisto". Viene inviata una richiesta Web a Statuspage, che aggiorna l'imprevisto corrispondente con il contenuto del commento. L'immagine seguente mostra il riepilogo dei componenti per questa regola.

Commento Statuspage sull'imprevisto

Il componente importante da rivedere in questa regola è l'azione Invia richiesta Web. Questa azione viene copiata dalla regola precedente ma con alcune modifiche.

Il valore /{{issue.incident_id}} è stato aggiunto all'URL del webhook. I valori intelligenti vengono utilizzati per estrarre il campo personalizzato ID imprevisto dal ticket e passarlo a Statuspage come destinazione della richiesta Web.

Il metodo HTTP è ora impostato su PATCH anziché su POST. Questo indica a Statuspage di aggiornare un imprevisto esistente invece di crearne uno nuovo.

Il campo Dati personalizzati viene modificato per includere codice che utilizza valori intelligenti allo scopo di estrarre il corpo del commento dal ticket e inserirlo nel corpo del contenuto dell'imprevisto.

Commento Statuspage sull'imprevisto
Invia richiesta Web

Chiusura dell'imprevisto Statuspage quando il ticket esegue la transizione allo stato Completato.

Quest'ultima regola le unisce tutte. Indica a Statuspage che un imprevisto è risolto quando il ticket Jira corrispondente viene spostato su Completato. L'immagine seguente mostra il riepilogo della regola.

Commento Statuspage sull'imprevisto

Il componente della richiesta Web è stato nuovamente copiato e modificato rispetto alle regole precedenti.

Invia richiesta Web

Il campo Custom data (Dati personalizzati) è stato modificato per impostare lo stato dell'imprevisto su "Resolved" (Risolto). Questa è l'unica modifica rispetto alla precedente regola di commento.

Queste regole ora sono pronte per l'uso. Puoi testarle creando ticket Tipo imprevisto ed eseguendo interazioni trigger. Puoi monitorare il comportamento delle regole nell'audit log dell'automazione, che fornisce la registrazione e le informazioni sul comportamento delle regole. Le regole di automazione illustrate in questa guida sono ottimi esempi di regole di utilizzo avanzate delle API per le richieste Web.

Dai un'occhiata a centinaia di altri esempi nella nostra Libreria dei modelli di automazione.

Kev Zettler
Kev Zettler

Kev è uno sviluppatore web full-stack lead e imprenditore seriale con oltre un decennio di esperienza nella creazione di prodotti e team con metodologie Agile. È un appassionato collaboratore, autore e insegnante nell'ambito delle tecnologie open source emergenti come DevOps, criptovaluta e realtà aumentata/virtuale. Nel tempo libero, partecipa a competizioni dedicate allo sviluppo di giochi indie.


Condividi l'articolo
Argomento successivo

Letture consigliate

Aggiungi ai preferiti queste risorse per ricevere informazioni sui tipi di team DevOps e aggiornamenti continui su DevOps in Atlassian.

Illustrazione su Devops

Community DevOps

Illustrazione su Devops

Workshop di simulazione

Illustrazione di una mappa

Inizia gratis

Iscriviti alla nostra newsletter DevOps

Thank you for signing up