Wird Konfiguriert DevOps Details zur Change-Anforderung in der Pipeline
Konfigurieren Sie, wie die Felder „Abschlussinformationen“, „Change-Status“ und „Change-Anforderung“ innerhalb einer Pipeline im Change-Schritt der Pipeline aktualisiert werden.
Die Systemvariable verweist standardmäßig auf den Subflow Standard, um einen Change im Basissystem automatisch zu schließen. Die DevOps – Subflow „Change bei Pipeline-Abschluss automatisch schließen“ ( sn_devops.auto_close_change) Bestimmt, wie die Felder „Abschlussinformationen“, „Change-Status“ und „Change-Anforderung“ aktualisiert werden, wenn eine Pipeline abgeschlossen ist. Wenn Sie einen anwenderdefinierten Subflow angeben möchten, der aktiviert werden muss, wenn eine Pipeline abgeschlossen ist, können Sie diesen Subflow klonen und an Ihre Anforderungen anpassen.
Abschlussinformationen und Change-Anforderungsattribute sind im enthalten changeRequestDetailsObjekt.
Change automatisch schließen
Legen Sie fest autoCloseChangeParameter bis Wahr/falsch Im Objekt changeRequestDetails beim Erstellen eines Change aus einer Pipeline zum Aktualisieren von Abschlusscode Und Abschlussnotizen Felder und schließen Sie die Change-Anforderung, wenn eine Pipeline abgeschlossen ist. Die Tatsächliches Startdatum Und Tatsächliches Enddatum Feldwerte werden auch aktualisiert, wenn die Pipeline abgeschlossen ist. Die Datumswerte basieren auf der Startzeit der Pipeline oder der Startzeit der ersten Phase der Pipeline und der Endzeit der Pipeline oder der Endzeit der letzten Phase. Die Abschlussnotizen erhalten ein Suffix mit Text, der angibt, dass die Abschlussinformationen basierend auf der Change-Funktion „automatisch schließen“ aktualisiert wurden.
Wenn auf „wahr“ festgelegt, wird Abschlusscode Und Abschlussnotizen Felder werden aktualisiert, und das System versucht, die Change-Anforderung zu schließen, wenn die Pipeline abgeschlossen ist.
Wenn auf „falsch“ festgelegt, wird Abschlusscode Und Abschlussnotizen Felder werden aktualisiert, wenn eine Pipeline abgeschlossen ist, die Change-Anforderung jedoch nicht geschlossen wird.
Sie können auch festlegen Change automatisch schließen Feldwert für eine Pipeline in der ServiceNow-Anwendung. Wenn Sie auswählen Nur Change Aktualisieren , Abschlusscode Und Abschlussnotizen Felder werden aktualisiert, wenn eine Pipeline abgeschlossen ist und wenn Sie auswählen Aktualisieren und schließen Sie den Change , Die Change-Anforderung wird zusammen mit der Aktualisierung der Abschlussinformationen ebenfalls geschlossen.
| Kennzeichnung für „autoCloseChange“ in Change-Anforderungsattributen | Change-Spaltenwert automatisch schließen (sn_devops_Pipeline) | Endgültiger Status |
|---|---|---|
| True | Nur Change aktualisieren | Aktualisiert den Change und verschiebt den Status in „Schließen“ |
| Falsch | Change aktualisieren und schließen | Aktualisiert nur den Change |
| - | Nur Change aktualisieren | Aktualisiert nur den Change |
| - | Change aktualisieren und schließen | Aktualisiert den Change und verschiebt den Status in „Schließen“ |
- Die Funktion „Change automatisch schließen“ gilt nur für Standard-Pipelines, für die ein einzelner Change erstellt wurde. Wenn mehrere Changes vorhanden sind, wird der letzte Change für das automatische Schließen berücksichtigt.
- Die Funktion „Change automatisch schließen“ wird für nicht unterstützt Jenkins freestyle-Pipelines und Change-Anforderungen, bei denen die Funktion „Change-Beleg“ aktiviert ist.
- Für einen Azure Release-Pipeline: Der Pipeline-Abschlussstatus wird abgeleitet, indem der Status jeder Phase in der Pipeline konsolidiert wird. Wenn auch nur eine Phase fehlschlägt, gilt die Pipeline als nicht erfolgreich. Wenn auch nur eine Phase teilweise erfolgreich ist, gilt die Pipeline als erfolgreich mit Problemen.
Informationen zu Upgrades
Wenn Sie ein Upgrade durchführen, müssen Sie Ihr Orchestration-Tool neu konfigurieren, bevor Sie den Parameter autoCloseChange für festlegen GitHub Und Azure Pipelines erstellen.
Legen Sie Den Abschlusscode Fest
Legen Sie fest setCloseCode:Parameter bis Wahr/falsch Basierend auf dem gewünschten Verhalten. Der Standardwert ist „wahr“.
Wenn auf „wahr“ festgelegt, wird Abschlusscode Und Abschlussnotizen Felder werden wie in den Change-Schritt-Attributen angegeben aktualisiert, und die Change-Anforderung wird nach der Implementierung verschoben, wenn eine Phase abgeschlossen ist. Sie können dieses Verhalten überschreiben, indem Sie aktivieren Code für automatisches Schließen Funktion. Die Funktion „setCloseCode“ wird deaktiviert, wenn „autoCloseChange“ aktiviert und auf „wahr“ oder „falsch“ festgelegt ist. Weitere Informationen finden Sie unter Change Automatisch Schließen . Verwenden Sie die Funktion autoCloseChange, um genauere Details zu Change-Anforderungen zu erhalten.
Bei „falsch“ wird die Change-Anforderung nicht aktualisiert, wenn der Auftrag oder die Pipeline abgeschlossen ist, und sie verbleibt im Status „Implementieren“.
- Abschlussinformationen in der Change-Anforderung sind nicht festgelegt ( Abschlusscode Und Abschlussnotizen Felder werden leer gelassen).
- Ein Link zur Schrittausführung wird zu hinzugefügt Arbeitsnotizen .
Change-Anforderungsfelder
- Verwenden Sie attributes:Parameter zum Festlegen von Feldwerten.
- Verwenden Sie DevOps – POST /devops/Orchestration/changeControl Endpunkt von DevOps API.
- Wenn ein angegebenes Feld ein abhängiges Feld hat, das erforderlich ist, müssen Sie auch dieses Attribut festlegen.
- Wenn das Attribut für das abhängige Pflichtfeld nicht festgelegt ist, werden die Change-Anforderung und die Ausführung des zugehörigen Schritts abgebrochen, und Arbeitsnotizen werden aktualisiert.
Feldwerte innerhalb von attributes:Parameter sind Schlüssel-Wert-Paare. Der Schlüssel ist der Feldname in der Vorlage, und der Wert sind die Informationen, die im Feld ausgefüllt werden sollen.
Sie können verwenden ChangeControl API zum Angeben von Feldern wie type, cmdb_ci, template, assignment_group business_service, standard_change_template, chg_modelUnd erstellen Sie eine Change-Anforderung.
Wenn Attribute zur Änderung übergeben werden, lautet die Reihenfolge der Priorität wie folgt:
- Change-Anforderungsfelder oder changeControl-API.
- Werte im Schrittdatensatz.
- Werte, die in der Change-Anforderungsvorlage bereitgestellt werden.
Alle Felder in der Tabelle „Change-Anforderung“ [Change_Request] werden unterstützt, sofern nicht angegeben.
| Nicht unterstützte Felder |
|
| Unterstützte Felder | Alle verbleibenden Felder in der Tabelle „Change-Anforderung“ [Change_Request]. |
Beispiel für JSON-Nutzlast
{
"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",
}
}
}