Configuration des DevOps détails de la demande de changement dans le pipeline
Configurez la manière dont les informations sur la fermeture, l’état du changement et les champs de demande de changement sont mis à jour à partir d’un pipeline à l’étape de changement du pipeline.
Par défaut, la variable système pointe vers le flux secondaire Par défaut pour fermer automatiquement un changement dans le système de base. Le flux secondaire de fermeture automatique du changement à l’achèvement du pipeline (sn_devops.auto_close_change) de DevOps détermine la manière dont les informations sur la fermeture, l’état du changement et les champs de demande de changement sont mis à jour lorsqu’un pipeline est terminé. Si vous souhaitez spécifier un flux secondaire personnalisé qui doit être activé lorsqu’un pipeline est terminé, vous pouvez cloner ce flux secondaire et le personnaliser en fonction de vos besoins.
Les informations sur la fermeture et les attributs de demande de changement sont contenus avec l’objet changeRequestDetails .
Changement de fermeture automatique
Définissez le autoCloseChange paramètre sur vrai/faux dans l’objet changeRequestDetails lors de la création d’un changement à partir d’un pipeline pour mettre à jour les champs Code de fermeture et Notes de fermeture , et fermer la demande de changement lorsqu’un pipeline est terminé. Les valeurs des champs Date de début réelle et Date de fin réelle sont également mises à jour lorsque le pipeline est terminé. Les valeurs de date sont basées sur l’heure de début du pipeline ou l’heure de début de la première étape du pipeline, et l’heure de fin du pipeline ou l’heure de fin de la dernière étape du pipeline. Les notes de fermeture seront suivies d’un suffixe indiquant que les informations de fermeture ont été mises à jour en fonction de la fonction de changement de fermeture automatique.
Si la valeur est définie sur vrai, les champs Code de fermeture et Notes de fermeture sont mis à jour et le système tente de fermer la demande de changement lorsque le pipeline est terminé.
Si la valeur est définie sur faux, les champs Code de fermeture et Notes de fermeture sont mis à jour lorsqu’un pipeline est terminé, mais la demande de changement n’est pas fermée.
Vous pouvez également définir la valeur du champ Changement de fermeture automatique pour un pipeline dans l’application ServiceNow. Si vous sélectionnez Mettre à jour le changement uniquement, les champs Code de fermeture et Notes de fermeture sont mis à jour lorsqu’un pipeline est terminé, et si vous sélectionnez Mettre à jour et Fermer le changement, la demande de changement est également fermée ainsi que la mise à jour des informations de fermeture.
| Marqueur autoCloseChange dans les attributs de demande de changement | Fermeture automatique Changer la valeur de colonne (sn_devops_pipeline) | État final |
|---|---|---|
| Vrai | Mettre à jour le changement uniquement | Met à jour le changement et passe l’état à Fermé |
| Faux | Mettre à jour et fermer le changement | Met uniquement à jour le changement |
| - | Mettre à jour le changement uniquement | Met uniquement à jour le changement |
| - | Mettre à jour et fermer le changement | Met à jour le changement et passe l’état à Fermé |
- La fonctionnalité de changement de fermeture automatique ne s’applique qu’aux pipelines de base sur lesquels un seul changement a été créé. S’il y a plusieurs changements, le dernier changement est pris en compte pour la fermeture automatique.
- La fonctionnalité de changement de fermeture automatique n’est pas prise en charge pour Jenkins les pipelines freestyle et les demandes de changement lorsque la fonctionnalité de réception de changement est activée.
- Pour un pipeline de Azure mise en production, l’état d’achèvement du pipeline est dérivé en consolidant l’état de chaque étape du pipeline. Si une seule étape échoue, le pipeline est considéré comme ayant échoué. Si une seule étape réussit partiellement, le pipeline est considéré comme réussi avec quelques problèmes.
Informations sur la mise à niveau
Si vous effectuez une mise à niveau, vous devez reconfigurer votre outil d’orchestration avant de définir le paramètre autoCloseChange et GitHubAzure de créer des pipelines.
Définir le code de fermeture
Définissez le setCloseCode: paramètre sur vrai/faux en fonction du comportement souhaité. La valeur par défaut est vrai.
Si la valeur est définie sur vrai, les champs Code de fermeture et Notes de fermeture sont mis à jour comme spécifié dans les attributs d’étape de changement et la demande de changement est passée en post-implémentation lorsqu’une étape est terminée. Vous pouvez remplacer ce comportement en activant la fonctionnalité de code de fermeture automatique . La fonction setCloseCode est désactivée lorsque autoCloseChange est activé et défini sur true ou false. Pour plus d’informations, consultez Changement de fermeture automatique. Utilisez la fonction CloseChange automatique pour obtenir des détails plus précis sur les demandes de changement.
Si la valeur est définie sur faux, lorsque la tâche ou le pipeline est terminé, la demande de changement n’est pas mise à jour et reste à l’état Implémenter.
- Les informations sur la fermeture de la demande de changement ne sont pas définies (les champs Code de fermeture et Notes de fermeture sont laissés vides).
- Un lien vers l’exécution de l’étape est ajouté aux notes de travail.
Champs de demande de changement
- Utilisez le paramètre pour définir les attributes: valeurs des champs.
- Utilisez le point de terminaison DevOps : POST /devops/orchestration/changeControl de l’API DevOps .
- Si un champ spécifié a un champ dépendant requis, vous devez également définir cet attribut.
- Si l’attribut du champ dépendant obligatoire n’est pas défini, la demande de changement et l’exécution de l’étape connexe sont annulées, et les notes de travail sont mises à jour.
Les valeurs de champ dans le paramètre sont des attributes: paires clé-valeur. En d’autres termes, la clé est le nom du champ dans le modèle et la valeur est les informations à renseigner dans le champ.
Vous pouvez utiliser l’API changeControl pour spécifier des champs tels que type, cmdb_ci, template, chg_modelassignment_group business_servicestandard_change_template, et créer une demande de changement.
Lorsque des attributs sont transmis pour le changement, l’ordre de priorité est le suivant :
- Champs de demande de changement ou API changeControl.
- Valeurs dans l’enregistrement de l’étape.
- Valeurs fournies dans le modèle de demande de changement.
Tous les champs de la table Demande de changement [change_request] sont pris en charge, sauf indication contraire.
| Champs non pris en charge |
|
| Champs pris en charge | Tous les champs restants dans la table Demande de changement [change_request]. |
Exemple de charge utile JSON
{
"callbackURL":"http://192.168.0.4:3000/jenkins/sn-devops/pipeline_839b7605-b98d-4831-bc87-96829de7da37",
"orchestrationTaskURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests#deploy/",
"isMultiBranch":"false",
"orchestrationTaskName":"java_sample_tests#deploy",
"orchestrationTaskDetails":{
"triggerType":"upstream",
"upstreamTaskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/35/wfapi/describe",
"taskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/50/wfapi/describe"
},
"changeRequestDetails":{
"setCloseCode":false,
"attributes":{
"sys_created_by":"1832fbe1d701120035ae23c7ce610369",
"sys_updated_by":"56826bf03710200044e0bfc8bcbe5dca",
"requested_by":{
"name":"Abel Tuter"
},
"watch_list":[
{
"name":"Abel Tuter"
},
{
"name":"Aileen Mottern"
},
{
"name":"Alejandra Prenatt"
},
"56826bf03710200044e0bfc8bcbe5dca"
],
"work_notes_list":[
"56826bf03710200044e0bfc8bcbe5dca",
"46c6f9efa9fe198101ddf5eed9adf6e7",
"d8f57f140b20220050192f15d6673a98"
],
"assigned_to":"1832fbe1d701120035ae23c7ce610369",
"category":"Service",
"sys_created_on":"2021-02-09 18:58:41",
"priority":"2",
}
}
}