Configurer DevOps les détails de la demande de changement dans le pipeline
Configurez la façon dont les champs Informations sur la fermeture, État du changement et Demande de changement sont mis à jour à partir d’un pipeline dans 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 DevOps (sn_devops.auto_close_change) détermine la façon dont les champs informations de fermeture, état du changement et 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 dans 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, ainsi que 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 texte précisant que les informations de fermeture ont été mises à jour en fonction de la fonctionnalité de changement de fermeture automatique.
Si la valeur est définie sur vrai, les champs Code de fermeture et Notes de fermeture seront mis à jour et le système tentera de fermer la demande de changement lorsque le pipeline sera 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 d’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 avec 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 | Uniquement des mises à jour du changement |
| - | Mettre à jour le changement uniquement | Uniquement des mises à jour du 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 avec un seul changement créé. S’il y a plusieurs changements, le dernier changement sera pris en compte pour la fermeture automatique.
- La fonctionnalité de fermeture automatique du changement n’est pas prise en charge pour Jenkins les pipelines Freestyle et les demandes de changement lorsque la fonctionnalité de réception du 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 ne serait-ce qu’une étape échoue, le pipeline sera considéré comme ayant échoué. Si ne serait-ce qu’une étape est partiellement réussie, le pipeline sera considéré comme ayant réussi avec des 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 pour GitHub les pipelines et Azure les pipelines de build.
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 passe en post-implémentation lorsqu’une étape est terminée. Vous pouvez remplacer ce comportement en activant la fonctionnalité Code de fermeture automatique . La fonctionnalité setCloseCode est désactivée lorsque la fonctionnalité autoCloseChange est activée et définie sur vrai ou faux. Pour plus d’informations, reportez-vous à la section Fermer automatiquement le changement. Utilisez la fonctionnalité autoCloseChange pour obtenir des détails de demande de changement plus précis.
Si elle 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 dans 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 des attributes: valeurs de champ.
- Utilisez le point de terminaison DevOps : POST /devops/orchestration/changeControl de l’API DevOps .
- Si un champ spécifié comporte un champ dépendant requis, vous devez également définir cet attribut.
- Si l’attribut du champ obligatoire dépendant 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, chg_modeltemplateassignment_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 de 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",
}
}
}