This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
1. Introduzione
Se utilizzi il software Jira per la gestione dei progetti, lo sviluppo di software o il tracciamento dei bug,
con le edizioni commerciali
puoi inviare notifiche da Checkmk a Jira e creare o aggiornare lì gli Issue.
Questo funziona per i prodotti Jira Work Management (precedentemente Jira Core), Jira Software e Jira Service Management (precedentemente Jira Service Desk).
Sono supportate le seguenti opzioni:
Crea ticket per problemi relativi a host e servizi.
Crea ticket con una priorità definita.
Creare issue con un'etichetta definita.
Imposta collegamenti a host/servizi in Checkmk dagli issue Jira generati.
Imposta una risoluzione nel ticket quando si verificano le condizioni di "OK".
Per configurare la connessione tra Checkmk e Jira, crea prima alcuni nuovi campi in Jira e definisci alcuni ID Jira.
Successivamente, configura il metodo di notifica per Jira in Checkmk, inserendo gli ID Jira che sono stati creati e letti. Otterrai maggiore flessibilità se utilizzi anche attributi utente personalizzati. Invece di inserire gli ID Jira direttamente nel metodo di notifica, puoi definire alcuni ID Jira come attributi utente personalizzati. Questo rende facile per i singoli utenti creare ticket in una varietà di progetti JIRA.
2. Configurazione di Jira
Quando interagisce con Jira, Checkmk deve sapere quali notifiche hanno già creato un ticket e quali no. Per farlo, devi creare due cosiddetti campi personalizzati in Jira: uno per le notifiche relative a problemi dell'host e uno per quelle relative a problemi del servizio.
Per poter identificare correttamente i ticket relativi agli host e ai servizi, gli ID di questi ticket devono essere univoci. Questo è il caso se la tua istanza di Jira riceve notifiche da un solo sito Checkmk, poiché il nucleo di monitoraggio di un sito Checkmk garantisce l’unicità. Ora, nel monitoraggio distribuito, più siti Checkmk possono inviare notifiche se è stata configurata la notifica decentralizzata. Se la tua istanza Jira riceve notifiche da più siti Checkmk, l'unicità è molto probabilmente compromessa — al più tardi quando l'ID di un problema relativo all'host è già stato utilizzato da un altro sito Checkmk. In una configurazione di questo tipo hai bisogno di un altro campo personalizzato per il sito Checkmk con cui sia nuovamente possibile un'assegnazione univoca.
Per la configurazione in Checkmk ti servono gli ID Jira dei campi personalizzati che hai creato — e in più quelli di alcuni altri campi, quindi in totale sono necessari i seguenti:
ID progetto
ID del tipo di problema
ID priorità (opzionale)
ID del campo personalizzato dell'host
ID del campo personalizzato del servizio
ID campo personalizzato dell'istanza (facoltativo)
ID transizione (flusso di lavoro) (facoltativo)
La stragrande maggioranza di questi ID può essere letta utilizzando lo script qui sotto tramite una delle API REST di Jira. Gli amministratori di Jira possono anche recuperare gli ID tramite la GUI di Jira, anche quelli che non possono essere recuperati tramite l'API e quindi lo script.
2.1. Configurazione dei campi personalizzati in Jira
Puoi imparare come creare campi personalizzati in Jira nella documentazione di Jira, compresa l'assegnazione del campo alle cosiddette schermate delle issue in Jira.
Quando crei i campi necessari per Checkmk, tieni presente i seguenti punti relativi al tipo di campo. Puoi dare ai campi il nome che preferisci. Tuttavia, i nomi dei campi riportati nella tabella seguente corrispondono allo script con cui puoi leggere gli ID di Jira nella sezione successiva Determinazione degli ID di Jira tramite uno script esterno.
| Campo personalizzato | Tipo di campo | Nome |
|---|---|---|
Campo personalizzato host |
|
|
Campo personalizzato del servizio |
|
|
Campo personalizzato dell'istanza (facoltativo) |
|
|
Il tipo di campo " |
Assicurati inoltre che l'utente Jira utilizzato da Checkmk per creare i problemi, ovvero quello inserito nella regola di notifica di Checkmk, abbia accesso in lettura e scrittura a questi campi personalizzati.
2.2. Determinazione degli ID Jira tramite uno script esterno
Puoi interrogare gli ID in una raccolta con il seguente script, che utilizza l'API REST di Jira.
Sostituisci JIRA_USERNAME , JIRA_PASSWORD , PROJECT_KEY e https://jira.server.your-domain.de con i tuoi valori applicabili.
Puoi anche determinare l'PROJECT_KEYe dall'interfaccia GUI di Jira senza bisogno di diritti di amministratore.
Se utilizzi un prodotto Jira Cloud, lo script non viene autenticato con una password, ma con un token API.
Informazioni di base e istruzioni per la creazione di un token API sono disponibili nella documentazione di Jira.
In Jira, puoi copiare il token API generato negli appunti e incollarlo nel seguente script come |
L'output dello script sarà simile a questo:
=== IDs for project MY_PROJECT ===
10401
=== Issue types
Test case: 10600
Epic: 10000
Task: 10003
Sub-task: 10004
Bug: 10006
Story: 10001
Feedback: 10200
New Feature: 10005
Support: 10500
Improvement: 10002
=== Priority types
Blocker: 1
High: 2
Medium: 3
Low: 4
Lowest: 5
Informational: 10000
Critical impact: 10101
Significant impact: 10102
Limited impact: 10103
Minimal impact: 10104
=== Field types
CMK_HOST_FIELD: 11400
CMK_SVC_FIELD: 11401
CMK_SITE_FIELD: 114032.3. Determinazione degli ID Jira tramite la GUI
In alternativa all'esecuzione degli script, puoi anche leggere gli ID tramite la GUI di Jira, ma per farlo devi accedere a Jira con un account amministratore. Atlassian, il produttore di Jira, ha descritto questa procedura utilizzando l'esempio dell'ID del progetto nelle proprie istruzioni.
Gli ID degli altri campi e tipi di issue possono essere letti modificando il rispettivo elemento nell'interfaccia grafica di Jira Administrator. L'ID è solitamente l'ultimo valore nella barra degli indirizzi del tuo browser.
3. Configurazione di Checkmk
Hai già imparato come impostare le notifiche di Checkmk in generale nell'articolo sulle notifiche.
Per utilizzare le notifiche Jira, procedi come segue in Checkmk:
-
Se vuoi utilizzare attributi utente personalizzati, puoi crearli per i seguenti ID Jira: ID progetto (
jiraproject), ID tipo di issue (jiraissuetype), ID priorità (jirapriority) e ID transizione (jiraresolution). I nomi che inserisci come "Name" di un attributo sono indicati tra parentesi. Crei un attributo utente personalizzato con Setup > Users > Custom user attributes > Add attribute:
Assicurati che la checkbox "Make this variable available in notifications " sia selezionata per tutti questi attributi utente personalizzati creati per Jira.
Nelle proprietà di un utente, puoi quindi inserire in questi attributi gli ID Jira di cui questo utente è responsabile.
Per ogni attributo utente personalizzato, lascia vuoto il campo dell'ID Jira associato nella regola di notifica che verrà creata nei passaggi seguenti. Questi campi vengono poi compilati con gli attributi utente personalizzati. -
Crea nuovi parametri per Jira con Setup > Events > Notifications > Parameters for notification methods > Parameters for Jira > Add parameter.

Nel campo JIRA URL, inserisci l'URL della tua istanza Jira, ad es.
jira.server.your-domain.com.Nell'area Authentication, inserisci i dati di accesso dell'account Jira: nome utente/password o token per i prodotti Jira Cloud.
Per Project ID e Issue type ID hai bisogno degli identificatori identificati in precedenza in Jira, nell'esempio "10401" per l'identificatore del progetto e "10006" per il tipo di issue "Bug".
Per Host custom field ID, Service custom field ID e (facoltativamente) Site custom field ID, inserisci gli ID dei campi personalizzati che hai creato in Jira.
Per poter collegarti direttamente a Checkmk da qualsiasi issue generata, in Monitoring URL inserisci l'URL della tua istanza Checkmk, ad esempio:
https://mycmkserver/mysite/, dove è importante inserire la barra finale (/).
Tra le altre cose, hai anche le seguenti impostazioni opzionali:
Con l'opzione Priority ID puoi definire con quale priorità vengono creati i ticket in Jira. Qui puoi inserire uno dei "tipi di priorità" letti nello script, da "1" a "5".
Puoi modificare le descrizioni create per i problemi relativi a host e servizi nelle issue tramite le opzioni Summary for host notifications e Summary for service notifications.
Puoi usare l'opzione Label per definire se vuoi passare le etichette quando crei ticket in Jira. Se attivi Label senza inserire un valore, verrà impostato
monitoring.
Checkmk scrive il valore dell'etichetta nel campo Jiralabels, che funziona solo se questo campo esiste nella tua applicazione Jira, come nel caso di Jira Software, ma non ad esempio con Jira Service Desk.Attach graphs Aggiunge grafici correlati con lo stato attuale ai nuovi ticket.
Se vuoi che venga inserito anche un ID (Resolution) nel ticket di Jira quando si segnala un cambiamento di stato a "OK" in Checkmk, puoi definirlo in "Activate resolution with following resolution transition ID".
Per poter determinare l'ID corretto qui, hai bisogno anche dei diritti di amministratore in Jira. Torna all'area "Issues" e clicca su "Workflows". Poi clicca su "View" nella riga del flusso di lavoro standard del progetto Jira che stai utilizzando. Se ora vedi un diagramma di flusso, modifica la visualizzazione cliccando su "Text". Potrai leggere l'ID desiderato nella colonna "Transitions (id)".Con "Set optional timeout for connections to JIRA" puoi configurare il timeout per le connessioni a Jira. Se non inserisci nulla qui, verrà applicato il valore predefinito di 10 secondi.
Quando utilizzi la seguente box "Contact selection", tieni presente quanto segue:
Quando selezioni i contatti, assicurati che le notifiche vengano inviate a un solo contatto, ad esempio selezionando un singolo utente. Con i metodi di notifica per i sistemi di ticket ecc., la selezione dei contatti serve solo a specificare che le notifiche vengono inviate. Tuttavia, le notifiche non vengono inviate all'utente selezionato, ma al sistema di ticket. Tieni presente che una selezione dei contatti tramite gruppi di contatto, tutti i contatti di un oggetto o simili genera solitamente diverse notifiche identiche per un evento, che finiscono poi nel sistema di ticket due, tre o anche più volte.
Se il primo punto è soddisfatto, ma l'utente è utilizzato in diverse regole di notifica per lo stesso metodo, in ogni caso si applica solo l'ultima regola. È quindi consigliabile creare un utente funzionale separato per ciascuna di queste regole di notifica.
Il tema della selezione dei contatti è leggermente diverso quando si utilizzano attributi utente personalizzati, poiché questi servono ad assegnare ID Jira diversi a utenti diversi. Pertanto, in questo caso di solito vorrai informare diversi contatti, ovvero quegli utenti a cui hai assegnato gli attributi personalizzati. Se questi utenti utilizzano ID Jira diversi, non verranno generate notifiche identiche.
Puoi scoprire come testare il nuovo metodo di notifica nell'articolo sulle regole di notifica.
4. Opzioni di diagnostica
Se dopo aver impostato la regola di notifica in Checkmk non arrivano ticket in Jira, controlla il file di log associato ~/var/log/notify.log.
Jira di solito restituisce messaggi di errore piuttosto utili in questo caso, che possono effettivamente aiutarti nella diagnosi del problema.
Di seguito elenchiamo alcuni esempi.
Messaggio di errore: Impossibile creare l'issue, codice di risposta JIRA 400, impossibile impostare il campo "etichette".
Il tuo prodotto Jira potrebbe non avere etichette. Basta disabilitare l'uso delle etichette nella tua regola di notifica in Checkmk deselezionando "Label".
Messaggio di errore: Impossibile creare l'issue, codice di risposta JIRA 400, "b’project is required".
Questo messaggio di errore indica che l'ID inserito nella regola di notifica per il campo in questione (in questo caso: ID progetto) non è corretto.
Messaggio di errore: Impossibile risolvere https://jira.server.your-domain.de/browse/ISSUE-123, codice di risposta JIRA 500, "Errore interno del server".
Se ricevi questo messaggio di errore quando un ticket in Jira dovrebbe essere chiuso automaticamente da Checkmk, o rispettivamente dovrebbe essere cambiato in un altro stato, allora questo potrebbe indicare che l’ID di transizione che hai inserito non è corretto. L’ID di transizione si trova nella regola di notifica nel campo “Activate resolution with following resolution transition ID”. Di norma, dovresti confrontare nuovamente questo ID con l’interfaccia web di Jira.
