Integrazione con la gestione delle cambiamento di ServiceNow
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines supporta l'integrazione con ServiceNow per migliorare la collaborazione tra team di sviluppo e IT. Includendo la gestione delle modifiche nelle pipeline di versione, i team possono ridurre i rischi associati alle modifiche e seguire le metodologie di gestione dei servizi, ad esempio ITIL, sfruttando al meglio Azure Pipelines.
In questo articolo si apprenderà come:
- Configurare le istanze di ServiceNow.
- Includere il processo di gestione delle modifiche di ServiceNow come controllo della versione.
- Monitorare il processo di gestione delle modifiche dalle pipeline di versione.
- Mantenere aggiornate le richieste di modifica di ServiceNow con i risultati della distribuzione.
Prerequisiti
Questa esercitazione si espande su Usa approvazioni e controlli e Definisci approvazioni e controlli.
Un'organizzazione di Azure DevOps. Creare un'organizzazione, se non ne è già disponibile una.
Istanza non per sviluppatori di ServiceNow.
Configurare l'istanza di ServiceNow
Installare l'estensione Azure Pipelines nell'istanza di ServiceNow. Per completare l'installazione, sono necessarie le credenziali Hi . Per altre informazioni sull'installazione di app dallo Store ServiceNow, vedere Panoramica sull'acquisto.
Creare un nuovo utente in ServiceNow e concedergli il ruolo seguente:
x_mioms_azpipeline.pipelinesExecution
.
Configurare l'organizzazione di Azure DevOps
Installare l'estensione ServiceNow Change Management nell'organizzazione di Azure DevOps.
Creare una nuova connessione al servizio ServiceNow nel progetto Azure DevOps come indicato di seguito. In alternativa, è anche possibile usare l'autenticazione OAuth2.
Configurare la pipeline di versione
Passare alla pipeline di versione e quindi selezionare l'icona Condizioni di pre-distribuzione. Selezionare Gates e il controllo di pre-distribuzione di ServiceNow Change Management.
Selezionare la connessione al servizio creata in precedenza e compilare i campi obbligatori come indicato di seguito:
- Connessione ServiceNow: Connessione ion all'istanza di ServiceNow usata per la gestione delle modifiche.
- Breve descrizione: riepilogo della modifica.
- Descrizione: descrizione dettagliata della modifica.
- Categoria: categoria della modifica. Esempio: Hardware, Rete, Software.
- Priorità: priorità della modifica.
- Rischio: livello di rischio per la modifica.
- Impatto: effetto che la modifica ha sull'azienda.
- Elemento di configurazione: elemento di configurazione (CI) a cui si applica la modifica.
- Gruppo di assegnazione: gruppo a cui è assegnata la modifica.
- Pianificazione della richiesta di modifica: pianificazione della modifica come rispettata dal flusso di lavoro di ServiceNow. La data e l'ora devono essere in formato UTC e devono essere aaaa-MM-ggTHH:mm:ssZ. Esempio: 2018-01-31T07:56:59Z.
- Parametri di richiesta di modifica aggiuntivi: il nome deve essere il nome del campo (non etichetta) preceduto da 'u_'. Esempio: u_backout_plan. Il valore deve essere un valore valido in ServiceNow. Le voci non valide vengono ignorate.
- Stato desiderato della richiesta di modifica: il gate avrà esito positivo e la pipeline continua quando lo stato della richiesta di modifica corrisponde al valore specificato.
- Avanzate: specifica un'espressione che controlla quando il controllo deve avere esito positivo. La richiesta di modifica è definita come root['result'] nella risposta di ServiceNow. Esempio: "and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low'))". Per altri dettagli, vedere Espressioni .
- Variabili di output: è necessario specificare un nome di riferimento per poter usare le variabili di output nel flusso di lavoro di distribuzione. È possibile accedere alle variabili gate usando "PREDEPLOYGATE" come "prefisso" in un processo senza agente. Ad esempio, quando il nome del riferimento è impostato su 'gate1', il numero di modifica può essere ottenuto come segue: $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER).
- CHANGE_REQUEST_NUMBER : numero della richiesta di modifica.
- CHANGE_SYSTEM_ID : ID di sistema della richiesta di modifica.
Alla fine della pipeline di versione aggiungere un processo senza agente con un'attività Update ServiceNow Change Request (Aggiorna richiesta di modifica ServiceNow).
- Connessione ServiceNow: Connessione ion all'istanza di ServiceNow usata per la gestione delle modifiche.
- Modificare il numero di richiesta: numero della richiesta di modifica da aggiornare.
- Stato aggiornato della richiesta di modifica: stato da impostare per la richiesta di modifica. Questo input è disponibile se è selezionato Stato aggiornamento .
- Chiudi codice e Chiudi note: restituisce lo stato.
Nota
L'attività Update ServiceNow Change Request avrà esito negativo se nessuno dei campi della richiesta di modifica viene aggiornato durante l'esecuzione. ServiceNow ignora i campi e i valori non validi passati all'attività.
Creare una pipeline di versione
Selezionare Crea versione per avviare una nuova pipeline di versione.
La pipeline deve creare una nuova richiesta di modifica in ServiceNow come parte delle condizioni di pre-distribuzione create in precedenza.
La pipeline attenderà che tutti i controlli abbiano esito positivo entro lo stesso intervallo di campionamento. Per controllare il numero di modifica, selezionare l'icona di stato per visualizzare i log della pipeline.
La richiesta di modifica verrà accodata in ServiceNow e può essere visualizzata dal proprietario della modifica.
La pipeline di versione che ha attivato la nuova richiesta di modifica è disponibile nella sezione Metadati della pipeline di Azure DevOps.
Quando la modifica è pronta per l'implementazione (spostata in Implement state), la pipeline riprenderà l'esecuzione e lo stato del gate dovrebbe restituire l'esito positivo.
La richiesta di modifica verrà chiusa automaticamente dopo la distribuzione.
Pipeline Yaml
Questa esercitazione presuppone che sia disponibile una pipeline yaml con una singola fase che viene distribuita in un ambiente "più recente".
Aggiungere un controllo
Passare all'ambiente "latest", selezionare il pulsante con i puntini di sospensione e quindi selezionare Approvazioni e controlli.
Selezionare il segno più per aggiungere un nuovo controllo e quindi aggiungere il controllo ServiceNow Change Management all'ambiente. Usare la stessa configurazione usata per il gate di pre-distribuzione.
Aggiungere l'attività yaml
Aggiungere un processo server alla fase per aggiornare la richiesta di modifica.
Salvare ed eseguire la pipeline. Verrà creata automaticamente una nuova richiesta di modifica e la pipeline verrà sospesa e attenderà il completamento dei controlli.
Una volta completati i controlli, la pipeline deve riprendere l'esecuzione. La richiesta di modifica verrà chiusa automaticamente dopo la distribuzione.
Domande frequenti
D: Quali versioni di ServiceNow sono supportate?
R: Supportiamo le versioni seguenti: Kingston, Londra, New York, Parigi, Quebec, Roma, San Diego e Tokyo.
R: Sono supportate le versioni seguenti: Kingston, Londra, New York, Parigi e Quebec.
R: Sono supportate le versioni seguenti: San Diego, Tokyo e Utah.
D: Quali tipi di richiesta di modifica sono supportati?
R: Le richieste di modifica standard, standard e di emergenza sono supportate con questa integrazione.
D: Ricerca per categorie impostare proprietà di modifica aggiuntive?
R: È possibile specificare proprietà di modifica aggiuntive dal campo Parametri aggiuntivi della richiesta di modifica. Usare un formato JSON coppie chiave-valore, con il nome del campo (non l'etichetta) preceduto da u_
.
D: È possibile aggiornare i campi personalizzati nella richiesta di modifica con parametri di richiesta di modifica aggiuntivi?
R: Se nella richiesta di modifica sono definiti campi personalizzati, è necessario aggiungere il mapping per i campi personalizzati in Importa mappa di trasformazione set.
D: Non vengono visualizzati i valori a discesa popolati per Categoria, Stato e altri campi. Cosa devo fare?
R: Change Management Core and Change Management - I plug-in del modello di stato devono essere attivi nell'istanza di ServiceNow per consentire il funzionamento degli elenchi a discesa. Per altri dettagli, vedere Aggiornare gli stati delle richieste di modifica e Gestione modifiche.
Risorse
- Configurare le pipeline di versione per distribuzioni sicure
- Sentiment di Twitter come gate di rilascio
- Problemi di GitHub come controllo della versione
- Creare controlli personalizzati.
- Esempio di libreria ServerTaskHelper