Wird Konfiguriert DevOps Details zur Change-Anforderung in der Pipeline

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Konfigurieren Sie, wie die Felder „Abschlussinformationen“, „Change-Status“ und „Change-Anforderung“ innerhalb einer Pipeline im Change-Schritt der Pipeline aktualisiert werden.

    Hinweis:
    Konfigurieren von Change-Anforderungsdetails aus innerhalb eines GitLab Pipeline wird nicht unterstützt.

    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.

    Basierend darauf, ob der Change automatisch geschlossen in der Pipeline oder Spalte angegeben ist, wird der endgültige Status wie folgt berücksichtigt:
    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“
    Hinweis:
    Der für das Attribut autoCloseChange in der Pipeline angegebene Wert hat Vorrang vor dem in der Spalte „Change automatisch schließen“ in angegebenen Wert ServiceNow.
    Hinweis:
    • 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

    Legen Sie die Feldwerte der Change-Anforderung in der Pipeline für die angegebene Change-Anforderungsvorlage fest.
    Hinweis:
    • 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:

    1. Change-Anforderungsfelder oder changeControl-API.
    2. Werte im Schrittdatensatz.
    3. Werte, die in der Change-Anforderungsvorlage bereitgestellt werden.
    Hinweis:
    Wenn Sie Change-Anforderungen innerhalb der Pipeline konfigurieren, werden Change-Typ- und Vorlagenfelder immer aus einer Quelle übernommen. Sie können keine Kombination von Attributen aus der API-Anforderung und dem Change-Anforderungsformular verwenden.

    Alle Felder in der Tabelle „Change-Anforderung“ [Change_Request] werden unterstützt, sofern nicht angegeben.

    Tabelle : 1. Change-Anforderungsfelder werden unterstützt
    Nicht unterstützte Felder
    • Risiko
    • impact
    • Nummer
    • sys_id
    • Risk_Impact_Analysis
    Unterstützte Felder Alle verbleibenden Felder in der Tabelle „Change-Anforderung“ [Change_Request].
    Hinweis:
    Der Attributname muss mit dem Feldnamen der Change-Anforderung übereinstimmen, und der angegebene Wert muss gültig sein.

    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",
          }
       }
    }

    Pipeline-Beispiele

    Abbildung : 1. Change-Anforderungsdetails: Azure-Pipeline
    DevOps Azure-Change-Details.
    Abbildung : 2. Einstellungen auf Auftragsebene – Jenkins
    JenkinsJobSettings.
    Abbildung : 3. Change-Anforderungsdetails – Jenkins
    DevOps Jenkins Change-Details.
    Abbildung : 4. Details zur Change-Anforderung – GitHub
    DevOps GitHub-Change-Details.