Details der Change-Anforderung DevOps innerhalb der Pipeline konfigurieren
Konfigurieren Sie, wie die Felder für Abschlussinformationen, Change-Status und Change-Anforderung aus einer Pipeline im Change-Schritt der Pipeline aktualisiert werden.
Standardmäßig verweist die Systemvariable auf den Subflow Standard, um einen Change im Basissystem automatisch zu schließen. Der DevOps-Subflow „Change bei Pipeline-Abschluss automatisch schließen“ (sn_devops.auto_close_change), bestimmt, wie die Felder für Abschlussinformationen, Change-Status und Change-Anforderung aktualisiert werden, wenn eine Pipeline abgeschlossen wird. Wenn Sie einen anwenderdefinierten Subflow angeben möchten, der aktiviert werden muss, wenn eine Pipeline abgeschlossen ist, können Sie diesen Subflow klonen und entsprechend Ihren Anforderungen anpassen.
Abschlussinformationen und Attribute der Change-Anforderung sind im Objekt changeRequestDetails enthalten.
Change automatisch schließen
Legen Sie den Parameter autoCloseChange im Objekt „changeRequestDetails“ auf wahr/falsch fest, wenn Sie einen Change aus einer Pipeline erstellen, um die Felder Abschlusscode und Abschlussnotizen zu aktualisieren und die Change-Anforderung zu schließen, wenn eine Pipeline abgeschlossen ist. Die Feldwerte „Tatsächliches Startdatum“ und „Tatsächliches Enddatum“ werden ebenfalls 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 der Pipeline. Den Abschlussnotizen wird Text vorangestellt, der angibt, dass die Abschlussinformationen basierend auf der Funktion „Change automatisch schließen“ aktualisiert wurden.
Bei „true“ werden die Felder Abschlusscode und Abschlussnotizen aktualisiert, und das System versucht, die Change-Anforderung zu schließen, wenn die Pipeline abgeschlossen ist.
Bei Festlegung auf „false“ werden die Felder Abschlusscode und Abschlussnotizen aktualisiert, wenn eine Pipeline abgeschlossen, die Change-Anforderung jedoch nicht geschlossen wird.
Sie können auch den Wert des Felds Change automatisch schließen für eine Pipeline in der Anwendung ServiceNow festlegen. Wenn Sie Nur Update Changeauswählen, werden die Felder Abschlusscode und Abschlussnotizen aktualisiert, wenn eine Pipeline abgeschlossen wird. Wenn Sie Aktualisieren und Change schließenauswählen, wird die Change-Anforderung ebenfalls geschlossen und die Abschlussinformationen aktualisiert.
| autoCloseChange-Kennzeichnung in Change-Anforderungsattributen | Change-Spaltenwert automatisch schließen (sn_devops_pipeline) | Endgültiger Status |
|---|---|---|
| wahr | Nur Change aktualisieren | Aktualisiert den Change und verschiebt den Status in „Geschlossen“. |
| 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 „Geschlossen“. |
- Die Funktion „Change automatisch schließen“ gilt nur für Standard-Pipelines mit einem einzelnen erstellten Change. 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 Jenkins Freestyle-Pipelines und Change-Anforderungen nicht unterstützt, bei denen die Funktion „Change-Beleg“ aktiviert ist.
- Für eine Azure -Release-Pipeline wird der Pipeline-Abschlussstatus durch Konsolidierung des Status jeder Phase in der Pipeline abgeleitet. Wenn auch nur eine Phase fehlschlägt, wird die Pipeline als nicht erfolgreich betrachtet. 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 die Build-Pipelines GitHub und Azure festlegen.
Legen Sie den Lösungscode fest
Legen Sie den Parameter setCloseCode: basierend auf dem gewünschten Verhalten auf „wahr“/„falsch“ fest. Der Standardwert ist „true“.
Wenn sie auf „true“ festgelegt ist, werden die Felder Abschlusscode und Abschlussnotizen wie in den Attributen des Change-Schritts angegeben aktualisiert, und die Change-Anforderung wird nach Abschluss einer Phase nach der Implementierung verschoben. Sie können dieses Verhalten überschreiben, indem Sie die Funktion Code automatisch schließen aktivieren. 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 Festlegung auf „false“ wird die Change-Anforderung nach Abschluss des Auftrags oder der Pipeline nicht aktualisiert und verbleibt im Status Implementieren.
- Abschlussinformationen sind in der Change-Anforderung nicht festgelegt (die Felder„Abschlusscode“ und „Abschlussnotizen“ bleiben leer).
- Den Arbeitsnotizenwird ein Link zur Schrittausführung hinzugefügt.
Change-Anforderungsfelder
- Verwenden Sie den Parameter attributes:, um Feldwerte festzulegen.
- Verwenden Sie den Endpunkt DevOps - POST /devops/orchestration/changeControl der API 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 die Arbeitsnotizen aktualisiert.
Feldwerte innerhalb des Parameters attributes: sind Schlüssel-Wert-Paare. Das heißt, der Schlüssel ist der Feldname in der Vorlage und der Wert sind die Informationen, die in das Feld eingetragen werden sollen.
Sie können die changeControl- API verwenden, um Felder wie type, cmdb_ci, template, assignment_group business_service, standard_change_template, chg_model anzugeben und eine Change-Anforderung zu erstellen.
Wenn Attribute zur Änderung übergeben werden, gilt folgende Prioritätsreihenfolge:
- Change-Anforderungsfelder oder changeControl-API.
- Werte im Schrittdatensatz.
- In der Change-Anforderungsvorlage bereitgestellte Werte.
Alle Felder in der Tabelle „Change-Anforderung“ [change_request] werden unterstützt, sofern nicht anders 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",
}
}
}