Accélérer votre processus de changement DevOps
Activez la fonctionnalité d'accélération des changements de Vélocité de changement DevOps pour la création automatique de demandes de changement dans votre pipeline, et utilisez les flux et politiques d'approbation de changement pour automatiser l'approbation sous certaines conditions.
Vous pouvez afficher les détails des demandes de changement actives en accédant à .
Processus de contrôle des changements
Lorsque le contrôle des changements est activé pour une tâche dans votre pipeline de développement DevOps, une demande de changement est automatiquement créée et définie sur l'état Évaluer pour demander l'approbation de l'exécution de l'étape ou de la tâche actuelle si un groupe d'affectation est ajouté pour la demande de changement. Il est possible d'approuver automatiquement les demandes de changement en configurant les conditions d'une politique d'approbation des changements.
Vous pouvez configurer les étapes du pipeline de façon à activer les reçus de changement, qui n'interrompent pas le pipeline. Les demandes de changement créées après avoir activé les reçus de changement incluent toutes les données du pipeline, mais il n'est pas nécessaire de les approuver pour poursuivre le pipeline ; les demandes de changement seront par ailleurs définies à l'état Post-implémentation. Si vous créez des demandes de changement sans activer les reçus de changement, le pipeline est mis en pause jusqu'à ce que la demande de changement soit approuvée ; le pipeline reprend une fois l'approbation terminée.
Si vous souhaitez arrêter la transition automatique des états de demande de changement, même lorsque les reçus de changement sont activés, vous devez désactiver la propriété sn_devops.enable_change_receipt_state_transition. Pour plus d'informations, consultez Propriétés du Vélocité de changement DevOps.
Une fois les demandes de changement approuvées, soit automatiquement, soit manuellement, elles passent à l'état Implémenter et la tâche est exécutée. Une fois la tâche exécutée, la demande de changement passe à l'état Fermé, et le code de fermeture indique une réussite si l'exécution de la tâche a réussi ou un échec si l'exécution de la tâche a échoué. Pour en savoir plus sur la personnalisation des états de vos demandes de changement, consultez Processus de demande de changement personnalisé.
Si une demande de changement n'est pas approuvée et est passée à l'état Annulé ou Fermé, la tâche Jenkins, GitHub ou ADO associée est marquée comme ayant échoué et un message s'affiche sur la console :
Pour Jenkins : La tâche [ServiceNow DevOps] n'a pas été approuvée pour être exécutée
Pour GitHub : Erreur : Le changement **** a été créé, mais il a été rejeté ou annulé
Pour ADO : "changeState":"Fermé"
Approbation automatique des demandes de changement à l'aide de flux et de politiques
Vous pouvez automatiser le processus d'approbation des changements pour toutes vos demandes de changement DevOps. Le module Vélocité de changement DevOps utilise des flux et des données DevOps (tels que les éléments de travail, les validations, la couverture du code, la sécurité du code, le risque et les résultats des tests) pour mettre à jour l'état d'une demande de changement et l'approuver automatiquement en fonction des politiques d'approbation de changement. Trois flux sont disponibles dans le système de base que vous pouvez cloner, personnaliser et activer (dans le concepteur de flux). Par défaut, le flux d'approbation manuelle des demandes de changement DevOps est activé. Les flux DevOps ne s'appliquent qu'aux demandes de changement créées automatiquement ou aux demandes de changement dont la réception du changement est désactivée.
Flux
Un flux est un processus automatisé composé d'un déclencheur (qui détermine quand exécuter le flux) et d'une séquence d'actions réutilisables (où les actions exécutent une séquence d'opérations sur vos données). Les flux sont intégrés dans Flow Designer, une ServiceNow AI Platform fonctionnalité qui permet l’automatisation des processus. Pour plus d'informations, consultez Flow Designer.
Vous pouvez utiliser l'un des flux DevOps disponibles dans le système de base comme modèle. Clonez le flux et personnalisez-le en fonction des besoins de votre entreprise. Assurez-vous qu'un seul flux DevOps est à tout moment actif pour éviter les conflits et les erreurs. Un flux DevOps s'applique aux demandes de changement appartenant à la catégorie DevOps ou dont la propriété devops_change est définie sur true. (Une demande de changement DevOps créée automatiquement définit la catégorie sur DevOps par défaut.)
- Si la demande de changement DevOps est approuvée, le flux met à jour l'état d'exécution de l'étape sur Approuvé, et l'état de la demande de changement sur Implémenter. Après cela, le pipeline reprend.
- Si la demande de changement DevOps est rejetée, le flux met à jour l'état d'exécution de l'étape sur Rejeté et l'état de la demande de changement sur Nouveau. Après cela, le pipeline s'arrête.
- Si la demande de changement DevOps est annulée, le flux met à jour l'état d'exécution de l'étape sur Annulé par l'utilisateur et la demande de changement sur Annulé. Après cela, le pipeline est annulé.
Si une règle métier ou une politique de données provoque une erreur lors de la mise à jour d'un changement dans le flux d'approbation manuelle des demandes de changement DevOps, le flux d'approbation d'automatisation minimale des demandes de changement DevOps ou le flux d'approbation d'automatisation avancée des demandes de changement DevOps, l'erreur correspondante s'affiche dans les notes de travail de la demande de changement et est consignée dans les journaux de la console de l'outil de pipeline.
| Flux DevOps | Comportement par défaut |
|---|---|
| Flux d'approbation manuelle des demandes de changement DevOps | Ce flux est activé par défaut. Dans ce flux, les demandes de changement DevOps doivent passer par un processus d'approbation manuelle, où le flux attend que la demande de changement atteigne un état éligible (état d'implémentation Rejeté, Implémenté ou Spécifique). Une fois cet état atteint, ce flux met à jour l'état d'exécution de l'étape en fonction de l'état de la demande de changement. Si la demande de changement est basée sur des types, le flux attend que le changement soit rejeté, implémenté ou annulé. Si la demande de changement est basée sur des modèles, le flux attend que le changement soit rejeté, soit annulé ou qu'il atteigne l'un des états d'implémentation définis dans le modèle ou l'un des états d'implémentation spécifiés dans la propriété DevOps. Ce flux ne se déclenche pas pour les demandes de changement DevOps dont le modèle est un modèle de changement DevOps du système de base (DevOps ou DevOps simplifié) afin d'éviter les conflits et les erreurs. Vous pouvez cloner ce flux et le personnaliser pour y apporter des modifications. Assurez-vous que les autres flux DevOps sont désactivés. |
| Flux d'approbation d'automatisation minimale des demandes de changement DevOps | Ce flux collecte les données DevOps et exécute la politique d'automatisation minimale des demandes de changement DevOps, qui détermine si le changement doit être rejeté automatiquement, approuvé automatiquement ou envoyé pour approbation manuelle. Ce flux est déclenché pour les demandes de changement DevOps dont le type ou le modèle est défini sur Normal. Activez ce flux si vous souhaitez automatiser les approbations de demandes de changement, mais commencez par un nombre réduit de demandes. Vous pouvez cloner ce flux et le personnaliser pour y apporter des modifications. Assurez-vous que les autres flux DevOps sont désactivés. Vous pouvez également ajouter l'action DevOps - Mettre à jour le motif de décision de la politique d'automatisation minimale à ce flux pour mettre à jour les décisions de politique dans le commentaire sur le changement d'exécution de l'étape et les notes de travail de la demande de changement afin de connaître les motifs de la décision. Vous pouvez ajouter cette action au sein de chaque bloc de décision et spécifier l'entrée requise. |
| Flux d'approbation d'automatisation avancée des demandes de changement DevOps | Ce flux collecte les données DevOps et exécute la politique d'automatisation avancée des demandes de changement DevOps, qui détermine si le changement doit être rejeté automatiquement, approuvé automatiquement ou envoyé pour approbation manuelle. Ce flux est déclenché pour les demandes de changement DevOps dont le type ou le modèle est défini sur Normal. Si la demande de changement DevOps est approuvée, le flux met à jour la demande de changement à l'état Planifié et la date de début prévue est utilisée pour définir la date de début de la demande de changement. À la date de début de la demande de changement, le flux met à jour l'état de la demande de changement sur Implémenter. Après cela, le pipeline reprend. Activez ce flux si vous souhaitez automatiser les approbations de demandes de changement avec une politique de changement robuste. Vous pouvez cloner ce flux et le personnaliser pour y apporter des modifications. Assurez-vous que les autres flux DevOps sont désactivés. |
| Démonstration DevOps sur le flux d'automatisation des changements | Lorsque des données de démonstration sont installées, la démonstration DevOps sur le flux d'automatisation des changements est disponible lorsqu'une demande de changement de type normal ou une demande de changement de modèle normal peut être approuvée automatiquement en fonction des politiques de décision. Dans le cadre des données de démonstration, les politiques de décision disponibles sont les suivantes :
|
Pour consulter les directives sur l'utilisation plus efficace des flux, des flux secondaires et des actions, consultez General guidelines for Workflow Studio flows, subflows, and actions.
Politiques d'approbation de changement
- Entrée de la politique : sources variables évaluées dans une décision.
- Décisions : détermine si la définition d'approbation de changement doit être appliquée en fonction de conditions.
- Définitions d'approbation : définit le type d'approbation qui peut être appliqué.
- Politique de changement de modèle DevOps
- Politique d'automatisation minimale des demandes de changement DevOps
- Politique d'automatisation avancée des demandes de changement DevOps
Pour plus d'informations sur les politiques d'approbation de changement, consultez Politiques d’approbation de changement.
Les flux d'approbation automatisés DevOps utilisent des politiques d'approbation des changements et des données DevOps (telles que les éléments de travail, les validations, les demandes d'extraction, les résumés de tests, les résumés de sécurité et les résumés de qualité) pour mettre à jour automatiquement l'état de l'enregistrement de changement et l'état d'exécution de l'étape sur Approuvé, Rejeté ou Annulé. Vous pouvez afficher et modifier ces politiques en fonction des besoins de votre entreprise, ou créer les vôtres dans la table de décision. Consultez les tables de décision suivantes.
La politique d'automatisation minimale des demandes de changement DevOps comporte les conditions et critères suivants par défaut :
La politique d'automatisation avancée des demandes de changement DevOps comporte les conditions et critères suivants par défaut :
- Approbation automatique : si les conditions spécifiées dans la politique sont remplies, la demande de changement est automatiquement approuvée.
- Rejet automatique : si une ou plusieurs des conditions spécifiées dans la politique ne sont pas remplies, la demande de changement est automatiquement rejetée.
- Approbation manuelle : si une ou plusieurs conditions nécessitent une approbation manuelle de la part d'un utilisateur ou d'un groupe, elles sont spécifiées dans la politique. Les notifications sont envoyées par la politique aux utilisateurs ou groupes concernés pour accélérer l'approbation manuelle et faire progresser la demande de changement.
Vous pouvez appliquer votre politique d'approbation du changement avec l'action de Studio de workflow Gestion des changements pour contrôler le processus d'approbation d'une demande de changement. Pour en savoir plus, Utiliser l'action de flux Appliquer la politique d'approbation de changement.
Notes de travail d'approbation de changement
Lorsqu'une demande de changement est mise à jour en fonction d'un flux et d'une politique d'approbation de changement, les notes de travail associées à la demande de changement sont mises à jour avec l'un des messages codés en dur suivants :
- Politique d'approbation des changements introuvable. La demande de changement a été rejetée (%s).
- %s est inactive. La demande de changement a été rejetée (%s).
- Aucune décision mise en correspondance. %s a été ignorée (%s).
- Aucune approbation n'a été générée à partir des décisions mises en correspondance. %s a été ignorée (%s).
- La demande de changement a été rejetée par %s (%s).
- La demande de changement a été approuvée par %s (%s).
if (APPROVED.equals(state))
38 message = String.format(APPROVED_MSG, policyName, actionLabel);Flux secondaire du gestionnaire des changements par défaut
- Demandé par
- Justification
- Plan d'implémentation
- Plan de retour en arrière
- Plan de tests
- Description brève
- Description
- Date de début
- Date de fin
- Analyse de l'impact des risques
Le flux secondaire du gestionnaire des changements par défaut remplace les valeurs de champ renseignées à l'aide d'un modèle lors de la création de l'enregistrement de la demande de changement.
Si vous le souhaitez, vous pouvez écrire un flux secondaire personnalisé à la place de ce flux en modifiant les [sn_devops.change_request_handler_subflow] DevOps property.
Modèles de demandes de changement personnalisées
Le type de demande de changement correspond à la table de demandes de changement dans le champ d'application global.
Listes connexes de demandes de changement automatiques
- Validations
- Validations associées à la demande de changement.
- Éléments de travail
- Éléments de travail associés à la demande de changement.
- Versions de l'artefact
Liste des versions d'artefacts associées au package lié à l'exécution du pipeline pour les packages créés avant l'approbation de la demande de changement.
Si aucun package n'est lié à l'exécution du pipeline, la liste est vide.
- Résumés des tests (remplace la liste connexe Résultats des tests)
Liste des résumés des tests pour une exécution de pipeline associée à une exécution d'artefact, de package ou de tâche avant la demande de changement.
Pour plus d'informations, consultez Résultats des tests.
- Résumé de la qualité logicielle
- Liste des résumés de qualité logicielle pour une exécution de pipeline associée à l’exécution d’un artefact, d’un package ou d’une tâche avant la demande de changement.
- Synthèses de Security
- Liste des résumés de sécurité pour une exécution de pipeline associée à l’exécution d’un artefact, d’un package ou d’une tâche avant la demande de changement.Remarque :Les résultats de l’analyse de Security sur l’enregistrement de changement associé à l’exécution d’un pipeline avec un package lié sont également affichés dans l’onglet Synthèses de sécurité.
Processus de demande de changement personnalisé
Ces propriétés de changement DevOps sont disponibles pour personnaliser votre flux de demande de changement.
- État de l'implémentation de la demande de changement DevOps
- État post-implémentation de la demande de changement DevOps
- État de l'annulation de la demande de changement DevOps
- Texte d'approbation de la demande de changement DevOps
Pour personnaliser votre flux de demande de changement, vous devez d’abord créer un . Par exemple, DevOps_Implement (valeur - 10).
Ensuite, ajoutez la liste de choix à .
Après avoir créé la liste de choix et l'avoir ajoutée à l'include de script, vous pouvez mettre à jour les propriétés de changement DevOps avec les nouvelles valeurs de la liste de choix. Par exemple, DevOps change request implement state -10.
Condition de risque DevOps
Vous pouvez utiliser le calcul du risque et de l'impact DevOps en fonction du score des risques du validateur.
Cette condition est désactivée par défaut.
Liste connexe Résultats des tests
Répertorie les tests qui ont été exécutés dans un pipeline après la création d'un package. Si aucun package n'a été créé, la liste inclut les tests qui ont été exécutés après la création d'une version d'artefact.
Scénarios :
- Un package est créé dans le pipeline, mais aucune version d'artefact n'est enregistrée.
- Si la demande de changement est créée lors de l'étape de création du package :
Aucun résultat de test ne s'affiche, car aucun package n'est encore lié à l'exécution du pipeline.
- Si la demande de changement est créée dans une étape postérieure à l'étape de création du package :
Les résumés des tests de version incluent ceux associés aux étapes postérieures à l'étape de création du package jusqu'à l'étape contrôlée par le changement.
- Si la demande de changement est créée lors de l'étape de création du package :
- Les versions d'artefact sont enregistrées, mais aucun package n'est créé.
- Si la demande de changement est créée au cours de l'étape de version d'artefact :
Aucun résultat de test ne s'affiche, car aucun test n'est associé tant que l'exécution de la tâche n'est pas terminée.
- Si la demande de changement est créée dans une étape postérieure à l'étape de version d'artefact :
Les résumés des tests de version incluent ceux de l'étape de version d'artefact, ainsi que les étapes suivantes, jusqu'à l'étape contrôlée par le changement.
- Si la demande de changement est créée au cours de l'étape de version d'artefact :
- Les versions d'artefact et le package sont créés dans le pipeline.
- Si la demande de changement fait partie de l'étape postérieure aux étapes de version d'artefact et de création du package :
Les résumés des tests de version incluent ceux associés à l'étape de création du package, ainsi que les étapes suivantes, jusqu'à l'étape contrôlée par le changement.
- Si la demande de changement fait partie de l'étape de création du package et que les versions d'artefact sont créées dans le cadre d'une étape antérieure ;
- ou si la demande de changement est créée dans une étape (hormis la création du package) postérieure à l'étape de version d'artefact, mais antérieure à l'étape de création du package ;
- ou si la demande de changement fait partie de l'étape de création du package et les versions d'artefact sont créées dans le cadre d'une étape antérieure :
Les résumés des tests de version incluent ceux associés à l'étape de version d'artefact, ainsi que les étapes suivantes, jusqu'à l'étape contrôlée par le changement.
- Si la demande de changement fait partie de l'étape postérieure aux étapes de version d'artefact et de création du package :
Vue Exécutions de pipelines
Vous pouvez afficher l’activité du pipeline en accédant à .