---
sourceDocument: Xanadu IT Service Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Azure DevOps Pipeline-Aufgaben

# Azure DevOps Pipeline-Aufgaben {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 11 Minuten Lesedauer

Verwenden Sie diese Aufgaben in Ihrer Pipeline Azure DevOps, um mit dem Datenmodell DevOps Config \] zu interagieren.  
Wichtig:  
Ab dem Release Washington DC wird DevOps Config auf den Übergang in den Zustand „Veraltet" vorbereitet. Es wird ausgeblendet und in neuen Instanzen nicht mehr installiert, aber weiterhin unterstützt. Weitere Informationen finden Sie im Artikel [Deprecation Process \[KB0867184\]](https://support.servicenow.com/kb_view.do?sysparm_article=KB0867184) (Abkündigungsprozess) in der Now Support Knowledge Base.

Diese Aufgaben werden bereitgestellt, um eine bestimmte Pipelinedefinition zu erstellen, mit der Sie Ihr Ziel erreichen.  
* ServiceNow-DevOps-Config-Agent-Upload-ConfigLaden Sie Konfigurationsdaten über den Agent-Auftrag auf ein bereitstellbares Element im Datenmodell hoch.

* ServiceNow-DevOps-Config-Agent-Get-SnapshotRuft die Snapshots für eine Anwendung ab.

* ServiceNow-DevOps-Config-Agent-Get-Snapshot-NameExtrahieren Sie den Namen eines Snapshots.

* ServiceNow-DevOps-Config-Agent-Publish-SnapshotVeröffentlichen Sie einen Snapshot Ihrer Konfigurationsdaten.

* ServiceNow-DevOps-Config-Agent-Export-SnapshotExportieren Sie eine Teilmenge Ihrer Konfigurationsdaten.

* ServiceNow-DevOps-Config-Agent-Register-PipelineRegistrieren Sie ein Changeset und/oder einen Snapshot bei einer Pipeline-Ausführung.

* ServiceNow-DevOps-Config-Agent-Validate-SnapshotValidiert Konfigurationsdaten anhand von Organisationsrichtlinien.

* ServiceNow-DevOps-Server-Change-AccelerationErstellen Sie eine Change-Anforderung als Teil der Pipeline.

{#devops-config-azure-integration__ul_qcb_5cf_psb}

## ServiceNow-DevOps-Config-Agent-Upload-Config {#devops-config-azure-integration__section_qjz_nqg_wpb}

Aufgabe zum Hochladen einer Konfigurationsdatei an einen bestimmten Speicherort in einem Anwendungsdatenmodell.  
Diese Aufgabe soll iterativ für alle Konfigurationsdateien verwendet werden, die der Anwender während der Pipeline-Ausführung in sein Anwendungsdatenmodell hochladen möchte.  
Hinweis:  
Vorab hochgeladene Dateien müssen in einem kompatiblen Format vorliegen.

Eingabevariablen
:

    |-|-|
    | verbundenServiceName | Gibt die Endpunktverbindung der Pipeline DevOps an. |
    | applicationName | Gibt die Anwendung an, in die Konfigurationsdaten hochgeladen werden. |
    | bereitstellbarerName | Gibt das bereitstellbare Element für die Anwendung an (erforderlich, wenn das Ziel bereitstellbar ist). |
    | UploadZiel | Gibt das Datenmodellziel an, in das Konfigurationsdaten hochgeladen werden (z. B. <kbd class="ph userinput">Komponente</kbd>, <kbd class="ph userinput">Sammlung</kbd>, <kbd class="ph userinput">bereitstellbares Element</kbd>). |
    | collectionName | (Optional) Gibt die Sammlung an, in die Konfigurationsdaten hochgeladen werden (erforderlich, wenn das Ziel eine Sammlung ist). |
    | namePath | Gibt den Datenmodell-Pfad an, in den Konfigurationsdaten hochgeladen werden. Hinweis: Beim Hochladen in einen vars-Ordner müssen Sie den Namenspfad mit „vars/" beginnen, um den Variablenordnerpfad anzugeben. |
    | configFilePath | Gibt den Quellordner an, aus dem Konfigurationsdaten in die Komponente oder den bereitstellbaren Pfad im Datenmodell hochgeladen werden. „Leer" ist der Stamm des Repositorys. Verwenden Sie Variablen, wenn sich Dateien nicht im Repository befinden (z. B. <kbd class="ph userinput">$(agent.builddirectory)</kbd>). |
    | konvertierenPfad | (Optional) Gibt an, ob die Verzeichnisstruktur der Konfigurationsdateien (in Bezug auf den Arbeitsbereich) beibehalten und das Verzeichnis in Pfade innerhalb des Datenmodells konvertiert werden soll. Die Standardeinstellung ist „false". |
    | dataFormat | Gibt das Datenformat der config_file an (z. B. <kbd class="ph userinput">JSON</kbd>, <kbd class="ph userinput">YAML</kbd>, <kbd class="ph userinput">XML</kbd>usw.). |
    | changesetNumber | (Optional) Gibt das (offene) Changeset an, dem diese Upload-Aktivität zugeordnet ist. Wenn nicht angegeben, wird ein neues Changeset erstellt. Hinweis: Wird nur für Szenarien mit mehreren Uploads verwendet. |
    | automatisch festlegen | Gibt an, ob Konfigurationsdaten nach dem Hochladen committet werden sollen (wahr/falsch). Die Standardeinstellung ist „false". |
    | autoValidate | Gibt an, ob Konfigurationsdaten während des Commits validiert werden sollen (wahr/falsch). Der Standardwert ist „true". |
    [ ]

    {#devops-config-azure-integration__table_hpv_5x2_psb}

Ausgabevariable
:

    |-|-|
    | changesetNumber | Changeset-Datensatz, der während des Uploads erstellt/committet wurde. Geben Sie einen Namen für die Aufgabe an, damit sie später in der Pipeline verwendet werden kann (z. B. „ <kbd class="ph userinput">componentUpload</kbd>" ). |
    [ ]

    {#devops-config-azure-integration__table_qjq_rbb_w5b}

Beispiel: Upload-Konfiguration
:


        -task: ServiceNow-DevOps-Config-Agent-Upload-Config
         name: componentUpload​
         inputs:​
           connectedServiceName: 'MyServiceNowInstance'​
           applicationName: 'PaymentDemo'​
           uploadTarget: 'component'​
           namePath: 'wep-api-v1.0'
           configFilePath: 'k8s/helm/values.yml'​
           dataFormat: 'yaml'
           autoCommit: true​
           autoValidate: true​
         
Beispiel -- Mehrere Uploads (Komponente)
:   Sie können die Upload-Aufgabe mehrmals aufrufen, um Konfigurationsdaten in verschiedenen Dateiformaten von verschiedenen Speicherorten hochzuladen, während die Uploads Teil eines Changesets bleiben.

    * Benennen Sie die Aufgabe beim ersten Upload, damit die Ausgabevariable changesetNumber in nachfolgenden Uploads wiederverwendet werden kann.  
      Upload der YAML-Datei:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config​
             name: componentUpload​
             inputs:​ 
               connectedServiceName: 'MyServiceNowInstance'​
               applicationName: 'PaymentDemo'​
               uploadTarget: 'component'​
               namePath: 'wep-api-v1.0'
               configFilePath: 'k8s/helm/values.yml'​
               dataFormat: 'yaml'
               autoCommit: false​
               autoValidate: false​

    * Verweisen Sie in nachfolgenden Uploads auf die Ausgabevariable changesetNumber des ersten Uploads als Eingabevariable.  
      Upload der JSON-Datei:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config
             inputs:​
               connectedServiceName: 'MyServiceNowInstance'
               applicationName: 'PaymentDemo'
               uploadTarget: 'component'
               namePath: 'wep-api-v1.0'
               configFilePath: 'featureToggles/set1.json'
               dataFormat: 'json'
               autoCommit: true​
               autoValidate: true​
               changesetNumber: '$(componentUpload.changesetNumber)'

    {#devops-config-azure-integration__ul_qvy_52b_w5b}

Beispiel -- Mehrere Uploads (Sammlung und Variablen)
:   Sie können die Upload-Aufgabe mehrmals aufrufen, um Konfigurationsdaten in verschiedenen Dateiformaten von verschiedenen Speicherorten hochzuladen, während die Uploads Teil eines Changesets bleiben.

    * Achten Sie beim ersten Upload darauf, die Aufgabe zu benennen, damit die Ausgabevariable changesetNumber in nachfolgenden Uploads wiederverwendet werden kann.  
      XML-Dateiupload:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config​
             name: componentUpload​
             inputs:​ 
               connectedServiceName: 'MyServiceNowInstance'​
               applicationName: 'PaymentDemo'​
               uploadTarget: 'collection'​
               collectionName: 'release-1.0'​
               namePath: 'v1-common-configs'
               configFilePath: 'infra/v1/config.xml'​
               dataFormat: 'xml'
               autoCommit: false​
               autoValidate: false​

    * Verweisen Sie in nachfolgenden Uploads auf die Ausgabevariable changesetNumber aus dem ersten Upload als Eingabe.  
      Upload der JSON-Datei:


          -task: ServiceNow-DevOps-Config-Agent-Upload-Config
             inputs:​
               connectedServiceName: 'MyServiceNowInstance'
               applicationName: 'PaymentDemo'
               uploadTarget: 'deployable'
               deployableName: 'Production-EMEA'
               namePath: 'vars/dbSettings'
               configFilePath: 'infra/prodc/dbSettings.json'
               dataFormat: 'json'
               autoCommit: true​
               autoValidate: true​
               changesetNumber: '$(componentUpload.changesetNumber)'

    {#devops-config-azure-integration__ul_zvz_b5m_dwb}

    Hinweis:  
    Zum Hochladen in einen Variablenordner muss „uploadTarget" auf „ <kbd class="ph userinput">deployable</kbd>" festgelegt werden, und für „deployableName" und „changesetNumber" müssen die richtigen Werte festgelegt sein.

## ServiceNow-DevOps-Config-Agent-Get-Snapshot {#devops-config-azure-integration__section_nkh_4y2_psb}

Diese Aufgabe soll in verschiedenen Szenarien verwendet werden:

* Ruft einen bestimmten Snapshot ab.Nach dem CD-Flow wird ein bestimmter Snapshot abgerufen, damit er veröffentlicht und dann zur Verwendung nachgelagert exportiert werden kann (z. B. um eine Infrastruktur oder Anwendung bereitzustellen).

* Rufen Sie den neuesten validierten Snapshot ab.Der neueste validierte Snapshot wird für die angegebene Kombination aus Anwendung und bereitstellbarem Element abgerufen.

* Rufen Sie alle Snapshots für alle betroffenen bereitstellbaren Elemente ab.Wenn Konfigurationsdateien in ein Anwendungsdatenmodell hochgeladen werden, erstellt das System Snapshots für alle bereitstellbaren Elemente, die vom Upload betroffen sind. Wenn Sie dem CI-Flow folgen und davon ausgehen, dass für den letzten Upload-Aufruf die Validierung aktiviert war, besteht der nächste Schritt darin, die Liste der Snapshots zu durchlaufen und sicherzustellen, dass alle die Validierung bestanden haben.

* Rufen Sie die neuesten Snapshots für ein bereitstellbares Element einer Anwendung ab, falls ein Upload keine Snapshots generiert.Ein Satz von Konfigurationsdaten ist für die Bereitstellung in einer Umgebung für eine Kombination aus Anwendung, bereitstellbarem Element und Changeset verfügbar, wenn keine Konfigurationsänderungen vorgenommen werden.

* Zeigen Sie die Ergebnisse der Richtlinienvalidierung in einer Pipelineausführung an.Zeigen Sie die Ergebnisse der Richtlinienvalidierung als Testergebnisse auf der Seite mit den ADO-Build-Testergebnissen an, einschließlich konform mit Ausnahme, wenn Sie einen Snapshot abrufen.

{#devops-config-azure-integration__ul_lgc_ry2_psb}

Eingabevariablen
:

    |-|-|
    | verbundenServiceName | Gibt die Endpunktverbindung der Pipeline DevOps an (definiert in den Serviceverbindungseinstellungen des Projekts). |
    | applicationName | Gibt die Anwendung an, in die Konfigurationsdaten hochgeladen oder aus der Daten exportiert werden sollen. |
    | bereitstellbarerName | (Optional) Gibt das bereitstellbare Element (für die angegebene Anwendung) an, für das die neuesten Snapshot-Daten abgerufen werden sollen. |
    | changesetNumber | (Optional) Gibt die Changeset-ID für den entsprechenden Satz von Konfigurationsänderungen an. |
    | istValidiert | (Optional) Gibt an, ob nur Snapshots zurückgegeben werden sollen, die übergeben wurden, oder nur Snapshots, die mit Ausnahme übergeben wurden (wahr/falsch). Der Standardwert ist „true". |
    | ContinueWithLatest | (Optional) Gibt an, ob der neueste Snapshot gemäß der Kombination „ <kbd class="ph userinput">applicationName</kbd>",<kbd class="ph userinput">„deployableName“&nbsp;– ChangesetNumber“ zurückgegeben</kbd><kbd class="ph userinput">werden</kbd> soll, wenn keine Snapshots generiert werden (wahr/falsch). Die Standardeinstellung ist „false". |
    [ ]

    {#devops-config-azure-integration__table_dmc_nz2_psb}

Ausgabevariable
:

    |-|-|
    | Snapshot-Objekt | Ein JSON-Objekt, das die angeforderten Snapshots enthält. Geben Sie einen Namen für die Aufgabe an, damit sie später in der Pipeline verwendet werden kann (z. B. <kbd class="ph userinput">getSnapshot</kbd>). |
    [ ]

    {#devops-config-azure-integration__table_gb4_yfb_w5b}

Beispiel: Bestimmter Snapshot
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production'
           changesetNumber: 'Chset-16'
           isValidated: true
           continueWithLatest: true

Beispiel -- Neueste validierte Snapshots (für eine bestimmte Kombination aus bereitstellbarer Anwendung und Anwendung)
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production'
           isValidated: true

Beispiel: Alle Changeset-Snapshots
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           changesetNumber: 'Chset-16'

Beispiel: Ergebnisse der Richtlinienvalidierung anzeigen

:   Weisen Sie dem Pfad der Datei, die die Snapshot-Validierungsergebnisse enthält, die während der Aufgabe <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot</kbd> generiert wurden, eine Variable zu.

    Um die Ergebnisse der Snapshot-Validierung in Ihre Pipeline-Ausführung zu laden, müssen Sie die native ADO [-Aufgabe Publish Test Results v2](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-test-results-v2?view=azure-pipelines&tabs=trx,trxattachments,yaml)(Testergebnisse veröffentlichen) nutzen und die Variable als Eingabe verwenden.  


        stages:
        - stage: Two
          jobs:
            - job: A
        	variables:
              - name: validationResultsPath
                value: 1/TEST_DATA_$(Build.DefinitionName)_$(Build.BuildNumber)_*.xml
              steps:
                - task: PublishTestResults@2
                  inputs:
                     testResultsFormat: 'JUnit'
                     testResultsFiles: '$(validationResultsPath)'
                     searchFolder: '$(System.WorkFolder)'

## ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name {#devops-config-azure-integration__section_ic5_11f_psb}

Diese Aufgabe wird als Folgeaufgabe zur Aufgabe <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name</kbd> verwendet, um den Snapshot-Namen aus einem bestimmten Snapshot abzurufen. Von hier aus kann der Snapshot-Name als Eingabe für eine nachgelagerte Aufgabe verwendet werden, z. B. das Veröffentlichen des Snapshots.

Eingabevariablen
:

    |-|-|
    | bereitstellbarerName | Gibt das bereitstellbare Element zum Abrufen des Snapshot-Objekts an, das von der Aufgabe <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot</kbd> zurückgegeben wurde. |
    | Skript | Gibt das Skript zum Extrahieren des Snapshot-Namens aus dem Snapshot-Objekt an. |
    [ ]

    {#devops-config-azure-integration__table_ctq_f1f_psb}

Ausgabevariable
:

    |-|-|
    | snapshotName | Der Snapshot-Name für das bereitstellbare Element. Geben Sie einen Namen für die Aufgabe an, damit sie später in der Pipeline verwendet werden kann (z. B. <kbd class="ph userinput">getSnapshotName)</kbd>. |
    [ ]

    {#devops-config-azure-integration__table_u4n_hgb_w5b}

Beispiel: Snapshot-Namen abrufen

:   Verwenden Sie dieses Skript, um den Snapshot-Namen zu extrahieren, der aus der Aufgabe <kbd class="ph userinput">„ServiceNow-DevOps-Config-Agent-Get-Snapshot“</kbd> abgerufen wurde.


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name
         inputs:
           deployableName: 'PRD'
           script: |
        	function run() {
                let name;
                let deployableName = process.argv[2];
                let jsonObj = $(getSnapshot.snapshotObjects);
                let size = jsonObj.result.length;
                for(let i=0; i<size; i++) {
                 obj = jsonObj.result[i];
                 if(obj["deployable_id.name"].toLowerCase() == deployableName) {
                   name = obj.name;
                   console.log(name);
                  }
                 }
                }
                run();

Beispiel: Der mit „Snapshot abrufen" verwendete Snapshot-Name wird abgerufen

:   Rufen Sie die Aufgabe <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name</kbd> direkt nach der Aufgabe <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot</kbd> auf, um den Snapshot-Namen zurückzugeben.

    Snapshots abrufen (gibt ein JSON-Objekt zurück, das die betroffenen Snapshots enthält):


        -stage: Two​
         jobs:​
            -job: B​
             steps:​
                -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
                 name: getSnapshot​
                 inputs:​
                    connectedServiceName: 'MyServiceNowInstance'​​
                    applicationName: 'PaymentDemo'​
                    deployableName: 'Production-2'
                    changesetNumber: 'Chset-16'​

    Snapshot-Namen abrufen (gibt den Snapshot-Namen für ein bestimmtes bereitstellbares Element zurück):


        -stage: Two​
         jobs:​
            - job: B​
              steps:​
                - task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
                  name: getSnapshotName​
                  inputs:​
                      deployableName: 'Production-2'
                      script:|​
                      function run() {​
                       let name;​
                       let deployableName = process.argv[2]; ​
                       let jsonObj = $(getSnapshot.snapshotObjects);​
                       let size = jsonObj.result.length;​
                       for(let i=0; i<size ;i++) {​
                        obj = jsonObj.result[i];​
                        if(obj["deployable_id.name"].toLowerCase() == deployableName) {​
                         name = obj.name;​
                         console.log(name); // This standard output of inline script is given as the task output​
                        }​
                       }​
                      }​
                      run();

    Verwenden Sie den zurückgegebenen Snapshot-Namen in der Pipeline (z. B. veröffentlichen):


        -stage: Three​
         jobs:​
            -job: C​
             variables:​
               varSnapshotName: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]​
             steps:​
                -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
                 inputs:​
                   connectedServiceName: 'MyServiceNowInstance'
                   applicationName: 'PaymentDemo'
                   deployableName: 'Production-2'
                   snapshotName: '$(varSnapshotName)'​

## ServiceNow-DevOps-Config-Agent-Publish-Snapshot {#devops-config-azure-integration__section_fjq_k1f_psb}

Diese Aufgabe veröffentlicht einen Snapshot für die angegebene Anwendung und das bereitstellbare Element. Von hier aus kann der Snapshot durch den Exportprozess verwendet werden.

Eingabevariablen
:

    |-|-|
    | verbundenServiceName | Gibt die Endpunktverbindung ServiceNow an. |
    | applicationName | Gibt die zu veröffentlichende Anwendung an. |
    | bereitstellbarerName | Gibt das bereitstellbare Element für die Anwendung zur Veröffentlichung von Konfigurationsdaten an. |
    | snapshotName | Gibt den Namen des zu veröffentlichenden Snapshots an. |
    [ ]

    {#devops-config-azure-integration__table_vd4_41f_psb}

Ausgabevariable
:   Nicht zutreffend (gibt bei Erfolg „wahr" zurück, andernfalls „falsch").

Beispiel
:


        -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           snapshotName: 'Production-v23.dpl'

## ServiceNow-DevOps-Config-Agent-Export-Snapshot {#devops-config-azure-integration__section_bn2_x1f_psb}

Diese Aufgabe exportiert einen Snapshot für die angegebene Anwendung und das bereitstellbare Element. Geben Sie den Exporter, relevante Exporter-Argumente, das Exportformat (z. B. YAML, JSON) und den Ausgabespeicherort für die exportierten Konfigurationsdaten an. Von hier aus können die Konfigurationsdaten direkt als Eingabe für ein nachfolgendes Bereitstellungs- oder Bereitstellungstool in der Pipeline verwendet werden.

Eingabevariablen
:

    |-|-|
    | verbundenServiceName | Gibt die Endpunktverbindung ServiceNow an. |
    | applicationName | Gibt die Anwendung an, aus der veröffentlicht werden soll. |
    | bereitstellbarerName | Gibt das bereitstellbare Element für die Anwendung an, aus der Konfigurationsdaten exportiert werden sollen. |
    | snapshotName | Gibt den Namen des Snapshots an, aus dem Konfigurationsdaten exportiert werden sollen. |
    | exporterName | Gibt den Exporter an, der auf den Snapshot angewendet werden soll (z. B. <kbd class="ph userinput">UniqueCDIs</kbd>). |
    | args | (Optional) Gibt Argumente an, die zusammen mit dem Exporter verwendet werden sollen. |
    | exportFormat | Gibt das Format für den Export der Snapshot-Daten an (z. B. <kbd class="ph userinput">INI</kbd>, <kbd class="ph userinput">YAML</kbd>, <kbd class="ph userinput">PROPS</kbd>). |
    | speichernDatei | Prüft, ob die Datei in einem Azure-Repository gespeichert werden soll (wahr/falsch). Die Standardeinstellung ist „false". Hinweis: Entsprechende Berechtigung/entsprechender OAuth-Token-Zugriff auf das Skript ist erforderlich. Andernfalls wird die Exportdatei im Pipeline-Arbeitsbereichsverzeichnis erstellt. |
    [ ]

    {#devops-config-azure-integration__table_mtx_bbf_psb}

Ausgabevariable
:   Nicht zutreffend (gibt bei Erfolg „wahr" zurück, andernfalls „falsch").

Beispiel
:


        -task: ServiceNow-DevOps-Config-Agent-Export-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           exporterName: 'returnAllData-nowPreview'
           dataFormat: 'yaml'
           args: ''
           snapshotName: 'Production-v23.dpl'
           saveFile: true​
           fileName: 'ExporterOutput/ExportData_$(build.definitionName)_$(build.buildNumber).yaml'
           
## ServiceNow-DevOps-Config-Agent-Register-Pipeline {#devops-config-azure-integration__section_jms_kcf_psb}

Diese Aufgabe bindet ein Changeset und einen Snapshot an die Pipeline, sodass sie während der Pipeline-Ausführung nachverfolgt werden können. In DevOps Change-Geschwindigkeitwird dies in der Pipeline-UI angezeigt.

Eingabevariablen
:

    |-|-|
    | verbundenServiceName | Gibt die Endpunktverbindung der Pipeline DevOps an. |
    | applicationName | Gibt den Anwendungsnamen an. |
    | changesetNumber | (Optional) Gibt die ID des Changesets an, das der Pipeline-Ausführung zugeordnet werden soll. |
    | snapshotName | (Optional) Gibt den Namen des Snapshots an, der der Pipeline-Ausführung zugeordnet werden soll. |
    [ ]

    {#devops-config-azure-integration__table_nym_4cf_psb}

Ausgabevariable
:   Nicht zutreffend (gibt bei Erfolg „wahr" zurück, andernfalls „falsch").

Beispiel
:


        -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           changesetNumber: 'Changeset-143'

## ServiceNow-DevOps-Config-Agent-Validate-Snapshot {#devops-config-azure-integration__section_a3d_t3b_ypb}

Validiert die Konfigurationsdaten anhand der Richtlinien Ihrer Organisation.

Eingabevariablen
:

    |-|-|
    | verbundenServiceName | Gibt die Endpunktverbindung ServiceNow an. |
    | applicationName | Gibt die zu validierende Anwendung an. |
    | bereitstellbarerName | Gibt das zu validierende bereitstellbare Element (für die angegebene Anwendung) an. |
    | snapshotName | (Optional) Gibt den Namen des zu validierenden Snapshots an. |
    | showResults | (Optional) Gibt an, dass Validierungsergebnisse im Konsolenprotokoll angezeigt werden. |
    [ ]

    {#devops-config-azure-integration__table_hk2_nkf_psb}

Ausgabevariable
:   Nicht zutreffend (gibt bei Erfolg „wahr" zurück, andernfalls „falsch").

Beispiel
:


        -task: ServiceNow-DevOps-Config-Agent-Validate-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           snapshotName: ''
           showResults: false

## ServiceNow-DevOps-Server-Change-Acceleration {#devops-config-azure-integration__section_tcn_vqf_w5b}

Diese Aufgabe ist für agentlose (Server-) Aufträge erforderlich, um automatisch eine Change-Anforderung in ServiceNow Change-Management als Teil der Pipeline Azure DevOps \] zu erstellen.

In DevOps Configverwenden Sie zum Zuordnen mehrerer Snapshots desselben Changesets zu einer Change-Anforderung den Snapshot-Namen und den Anwendungsnamen, um bestimmte Konfigurationsdaten für einen bestimmten Anwendungsservice nachzuverfolgen.

Unter [Ihren DevOps Change-Prozess beschleunigen](https://servicenow-prod.fluidtopics.net/E9HLDQSY9wWEhBgjbOwutw "Aktivieren Sie die Change-Beschleunigungsfunktion von DevOps Change-Geschwindigkeit für die automatische Erstellung von Change-Anforderungen in Ihrer Pipeline, und verwenden Sie Flows und Richtlinien für Change-Genehmigungen, um die Genehmigung unter bestimmten Bedingungen zu automatisieren.") finden Sie weitere Informationen zur Funktion DevOps Change-Beschleunigung.

Eingabevariablen (in Bezug auf DevOps Config)
:

    |-|-|
    | verbundenServiceName | Gibt die Endpunktverbindung der Pipeline DevOps an. |
    | applicationName | Anwendung, die dem Snapshot zugeordnet ist, der an die Change-Anforderung angehängt wird. |
    | snapshotName | Name des Snapshots, der an die Change-Anforderung angehängt werden soll. |
    [ ]

    {#devops-config-azure-integration__table_tsl_wsf_w5b}

Beispiel
:


        -stage: ChangeRequest
         jobs:
            -job: 'changerequestjob'
             pool: server
             steps:
                -task: ServiceNow-DevOps-Server-Change-Acceleration
                 inputs:
                    connectedServiceName: 'MyServiceNowInstance'
                    applicationName: 'PaymentDemo'
                    snapshotName: 'Production-v23.dpl'

## Beispiel für eine YAML-Pipeline {#devops-config-azure-integration__section_h2d_xkq_mwb}

    trigger:
      branches:
        include:
        - none
    stages:
    - stage: One
      displayName: Upload Configuration Data
      pool:
        vmImage: ubuntu-latest
      jobs:
      - job: A
        displayName: Upload
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Upload-Config@1
          name: componentUpload
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            uploadTarget: 'component'
            configFile: 'k8s/helm/values.yml'
            namePath: 'processor-api-v1.0'
            dataFormat: 'yaml'
            autoValidate: true
            autoCommit: true
            convertPath: true
    - stage: Two
      displayName: Get Latest Snapshot
      pool:
        vmImage: ubuntu-latest
      jobs:
      - job: B
        displayName: Get Snapshot
        variables:
        - name: varChangesetNumber
          value: $[stageDependencies.One.A.outputs['componentUpload.changesetNumber'] ]
        - name: varConfigValidationResults
            value: 1/TEST_DATA_$(Build.DefinitionName)_$(Build.BuildNumber)_*.xml
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Get-Snapshot@1
          name: getSnapshot
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            deployableName: 'Production-EMEA'
            changeSetNumber: '$(varChangesetNumber)'
            continueWithLatest: true
        - task: ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name@1
          name: getSnapshotName
          inputs:
            deployableName: 'Production-EMEA'
            script: "function run() {\n  let name;\n  let deployableName = process.argv[2]; \n  let jsonObj = $(getSnapshot.snapshotObjects);\n  let size = jsonObj.result.length;\n  for(let i=0; i<size ;i++) {\n    obj = jsonObj.result[i];\n    if(obj[\"deployable_id.name\"].toLowerCase() == deployableName) {\n      name = obj.name;\n      console.log(name);   // This standard output of inline script is given as the task output\n    }\n  }\n}\nrun();\n"
        - task: PublishTestResults@2
              inputs:
                 testResultsFormat: 'JUnit'
                 testResultsFiles: '$(varConfigValidationResults)'
                 searchFolder: '$(System.WorkFolder)'
        - task: ServiceNow-DevOps-Config-Agent-Register-Pipeline@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            snapshotName: '$(getSnapshotName.snapshotName)'
            applicationName: 'PaymentDemo'
    - stage: Three
      displayName: Publish Snapshot
      pool:
        vmImage: ubuntu-latest
      jobs:
      - job: C
        displayName: Publish
        variables:
        - name: varSnapshotName
          value: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            deployableName: 'Production-EMEA'
            snapshotName: '$(varSnapshotName)'
    - stage: ChangeRequest
      dependsOn:
      - Two
      - Three
      jobs:
      - job: 'changerequestjob'
        timeoutInMinutes: 2
        pool:
          name: server
        variables:
        - name: varSnapshotName
          value: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]
        steps:
        - task: ServiceNow-DevOps-Server-Change-Acceleration@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            snapshotName: '$(varSnapshotName)'
    - stage: Four
      displayName: Export Snapshot
      dependsOn:
      - Two
      - Three
      - ChangeRequest
      pool:
        vmImage: ubuntu-latest
      variables:
      - name: varSnapshotName
        value: $[stageDependencies.Two.B.outputs['getSnapshotName.snapshotName']]
      jobs:
      - job: D
        displayName: Export
        steps:
        - task: ServiceNow-DevOps-Config-Agent-Export-Snapshot@1
          inputs:
            connectedServiceName: 'MyServiceNowInstance'
            applicationName: 'PaymentDemo'
            deployableName: 'Production-EMEA'
            exporterName: 'returnAllData-now'
            dataFormat: 'yaml'
            snapshotName: '$(varSnapshotName)'
            saveFile: true
            fileName: 'ExportData_$(build.definitionName)_$(build.buildNumber).yaml'
        - task: CmdLine@2
          inputs:
            script: |
              echo Write your commands here
              echo Hello world
              tree $(Pipeline.Workspace)


