Intégrer à la gestion des changements ServiceNow

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Azure Pipelines prend en charge l’intégration à ServiceNow pour améliorer la collaboration entre les équipes de développement et informatiques. En incluant la gestion des modifications dans les pipelines de mise en production, les équipes peuvent réduire les risques associés aux modifications et suivre les méthodologies de management des services telles qu’ITIL tout en tirant pleinement parti d’Azure Pipelines.

Dans cet article, vous allez apprendre à :

  • Configurer des instances ServiceNow.
  • Inclure le processus de gestion des modifications ServiceNow comme porte de mise en production.
  • Surveiller le processus de gestion des modifications à partir des pipelines de mise en production.
  • Conserver les demandes de modification ServiceNow mises à jour avec les résultats du déploiement.

Prérequis

Configurer l’instance ServiceNow

  1. Installez l’extension Azure Pipelines sur votre instance ServiceNow. Vous aurez besoin d’informations d’identificationHi pour terminer l’installation. Pour plus d’informations sur l’installation d’applications depuis le magasin ServiceNow, consultez Vue d’ensemble des achats.

  2. Créez un nouvel utilisateur dans ServiceNow et accordez-lui le rôle suivant : x_mioms_azpipeline.pipelinesExecution.

    Une capture d’écran montrant comment configurer un nouvel utilisateur dans ServiceNow.

Configurer l’organisation Azure DevOps

  1. Installez l’extension Change Management de ServiceNow sur votre organisation Azure DevOps.

    Une capture d’écran montrant l’extension Change Management de ServiceNow.

  2. Créez une connexion de service ServiceNow dans votre projet Azure DevOps comme suit. Vous pouvez également utiliser l’authentification OAuth2.

    Une capture d’écran montrant comment configurer la connexion de service ServiceNow.

Configurer le pipeline de mise en production

  1. Accédez à votre pipeline de mise en production, puis sélectionnez l’icône Conditions de prédéploiement. Sélectionnez Portes et la porte de prédéploiement Change Management ServiceNow.

    Une capture d’écran montrant comment ajouter une porte de prédéploiement.

  2. Sélectionnez la connexion de service que vous avez créée précédemment et renseignez les champs requis comme suit :

    Une capture d’écran montrant comment configurer la porte de Change Management de ServiceNow.

    • Connexion ServiceNow : connexion à l’instance ServiceNow utilisée pour la gestion des modifications.
    • Brève description : un résumé de la modification.
    • Description :une description détaillée de la modification.
    • Catégorie : la catégorie de la modification. Exemple : matériel, réseau, logiciel.
    • Priorité : la priorité de la modification.
    • Risque : le niveau de risque pour la modification.
    • Impact : l’effet que le changement a sur l’entreprise.
    • Élément de configuration : l’élément de configuration (CI) auquel la modification s’applique.
    • Groupe d’affectation : le groupe auquel la modification est affectée.
    • Planification de la demande de modification : la planification de la modification comme respecté par le flux de travail ServiceNow. La date et l’heure doivent être au format UTC et être aaaa-MM-jjTHH:mm:ssZ. Exemple : 2018-01-31T07:56:59Z.
    • Paramètres de demande de modification supplémentaires : le nom doit être le nom du champ (et non l’étiquette) précédé de « u_ ». Exemple : u_backout_plan. La valeur doit être une valeur valide dans ServiceNow. Les entrées non valides sont ignorées.
    • État souhaité de la demande de modification : la porte réussit et le pipeline se poursuit lorsque l’état de la demande de modification est identique à la valeur fournie.
    • Avancé : spécifie une expression qui contrôle quand cette porte doit réussir. La demande de modification est définie en tant que racine[« result »] dans la réponse de ServiceNow. Exemple : « and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low')) ». Pour plus d’informations, consultez Expressions.
    • Variables de sortie : vous devez spécifier un nom de référence pour pouvoir utiliser des variables de sortie dans votre flux de travail de déploiement. Les variables de porte sont accessibles à l’aide de « PREDEPLOYGATE » comme « préfixe » dans un travail sans agent. Par exemple, lorsque le nom de référence est défini sur « gate1 », le numéro de modification peut être obtenu comme suit : $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER).
    • CHANGE_REQUEST_NUMBER : numéro de la demande de modification.
    • CHANGE_SYSTEM_ID : ID système de la demande de modification.
  3. À la fin de votre pipeline de mise en production, ajoutez un travail sans agent avec une tâche Mettre à jour Change Request de ServiceNow.

    Une capture d’écran montrant comment configurer la tâche Mettre à jour la demande de modification ServiceNow.

  • Connexion ServiceNow : connexion à l’instance ServiceNow utilisée pour la gestion des modifications.
  • Numéro de la demande de modification : numéro de la demande de modification à mettre à jour.
  • État mis à jour de la demande de modification : état à définir pour la demande de modification. Cette entrée est disponible si État de mise à jour est sélectionné.
  • Fermer le code et fermer les notes : l’état de retour.

Notes

La tâche Mettre à jour la demande de modification ServiceNow échoue si aucun des champs de demande de modification n’est mis à jour pendant l’exécution. ServiceNow ignore les champs et valeurs non valides passés à la tâche.

Créer un pipeline de mise en production

  1. Sélectionnez Créer une mise en production pour démarrer un nouveau pipeline de mise en production.

  2. Votre pipeline doit créer une demande de modification dans ServiceNow dans le cadre des conditions de prédéploiement que vous avez créées précédemment.

    Une capture d’écran montrant l’exécution de la porte de prédéploiement.

  3. Le pipeline attend que toutes les portes réussissent dans le même intervalle d’échantillonnage. Pour vérifier le numéro de modification, sélectionnez l’icône d’état pour afficher vos journaux de pipeline.

    Une capture d’écran montrant les journaux de pipeline.

  4. La demande de modification est mise en file d’attente dans ServiceNow et peut être consultée par le propriétaire du changement.

    Une capture d’écran montrant une nouvelle demande de modification dans ServiceNow.

  5. Le pipeline de mise en production qui a déclenché la nouvelle demande de modification se trouve dans la section métadonnées du pipeline Azure DevOps.

    Une capture d’écran montrant les métadonnées du pipeline de mise en production.

  6. Lorsque la modification est prête pour l’implémentation (passée à l’état Implémenter), le pipeline reprend l’exécution et l’état de la porte doit retourner réussi.

    Une capture d’écran montrant l’état de la porte de déploiement.

  7. La demande de modification est fermée automatiquement après le déploiement.

Pipelines Yaml

Ce tutoriel part du principe que vous disposez d’un pipeline yaml avec une seule étape qui se déploie dans un environnement « latest ».

Ajouter une vérification

  1. Accédez à votre environnement « latest », sélectionnez le bouton points de suspension, puis sélectionnez Approbations et vérifications.

  2. Sélectionnez le signe plus pour ajouter une nouvelle vérification, puis ajoutez la vérification de gestion des modifications ServiceNow à votre environnement. Utilisez la même configuration que celle que vous avez utilisée pour votre porte de prédéploiement.

    Une capture d’écran montrant comment ajouter une vérification de gestion des modifications ServiceNow.

Ajouter la tâche yaml

  1. Ajoutez un travail de serveur à votre étape pour mettre à jour la demande de modification.

    Une capture d’écran montrant la tâche sans agent.

  2. Enregistrez et exécutez votre pipeline. Une nouvelle demande de modification est créée automatiquement et le pipeline s’interrompt et attend la fin des vérifications.

  3. Une fois les vérifications terminées, le pipeline doit reprendre l’exécution. La demande de modification est fermée automatiquement après le déploiement.

Une capture d’écran montrant l’exécution du pipeline.

FAQ

Q : Quelles sont les versions de ServiceNow prises en charge ?

R : Nous prenons en charge les versions suivantes : Kingston, Londres, New York, Paris, Québec, Rome, San Diego et Tokyo.

R : Nous prenons en charge les versions suivantes : Kingston, Londres, New York, Paris et Québec.

R : Nous prenons en charge les versions suivantes : San Diego, Tokyo et Utah.

Q : Quels types de demandes de modifications sont pris en charge ?

R : Les demandes de modification normales, standard et d'urgence sont prises en charge par cette intégration.

Q : Comment définir des propriétés de modification supplémentaires ?

R : Vous pouvez spécifier des propriétés de modification supplémentaires à partir du champ Paramètres de demande de modification supplémentaires. Utilisez une paire clé-valeur au format JSON, avec le nom étant le nom du champ (et non l’étiquette) précédé de u_.

Q : Puis-je mettre à jour des champs personnalisés dans la demande de modification avec des paramètres de demande de modification supplémentaires ?

R : Si des champs personnalisés sont définis dans la demande de modification, vous devez ajouter un mappage pour les champs personnalisés dans le mappage de transformation d’un jeu d’importation.

Q : Je ne vois pas de valeurs de liste déroulante renseignées pour les champs Catégorie, État et d’autres champs. Que dois-je faire ?

R : Les plug-ins Change Management Core et Change Management - State Model doivent être actifs sur votre instance ServiceNow pour que les listes déroulantes fonctionnent. Pour plus d’informations, consultez Mettre à niveau la gestion des modifications et mettre à jour les états des demandes de modification.

Ressources