Azure DevOps Pipeline-Aufgaben

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 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] (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-Config

      Laden Sie Konfigurationsdaten über den Agent-Auftrag auf ein bereitstellbares Element im Datenmodell hoch.

    • ServiceNow-DevOps-Config-Agent-Get-Snapshot

      Ruft die Snapshots für eine Anwendung ab.

    • ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name

      Extrahieren Sie den Namen eines Snapshots.

    • ServiceNow-DevOps-Config-Agent-Publish-Snapshot

      Veröffentlichen Sie einen Snapshot Ihrer Konfigurationsdaten.

    • ServiceNow-DevOps-Config-Agent-Export-Snapshot

      Exportieren Sie eine Teilmenge Ihrer Konfigurationsdaten.

    • ServiceNow-DevOps-Config-Agent-Register-Pipeline

      Registrieren Sie ein Changeset und/oder einen Snapshot bei einer Pipeline-Ausführung.

    • ServiceNow-DevOps-Config-Agent-Validate-Snapshot

      Validiert Konfigurationsdaten anhand von Organisationsrichtlinien.

    • ServiceNow-DevOps-Server-Change-Acceleration

      Erstellen Sie eine Change-Anforderung als Teil der Pipeline.

    ServiceNow-DevOps-Config-Agent-Upload-Config

    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. Komponente, Sammlung, bereitstellbares Element).
    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. $(agent.builddirectory)).

    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. JSON, YAML, XMLusw.).
    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“.
    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. „ componentUpload“ ).

    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)'
    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)'
    Hinweis:
    Zum Hochladen in einen Variablenordner muss „uploadTarget“ auf „deployable“festgelegt werden, und für „deployableName“ und „changesetNumber“ müssen die richtigen Werte festgelegt sein.

    ServiceNow-DevOps-Config-Agent-Get-Snapshot

    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.

    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 „ applicationName“, „deployableName“ –ChangesetNumber“ zurückgegeben werden soll, wenn keine Snapshots generiert werden (wahr/falsch). Die Standardeinstellung ist „false“.
    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. getSnapshot).

    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 ServiceNow-DevOps-Config-Agent-Get-Snapshot 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 (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

    Diese Aufgabe wird als Folgeaufgabe zur Aufgabe ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name 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 ServiceNow-DevOps-Config-Agent-Get-Snapshot zurückgegeben wurde.
    Skript Gibt das Skript zum Extrahieren des Snapshot-Namens aus dem Snapshot-Objekt an.
    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. getSnapshotName).

    Beispiel: Snapshot-Namen abrufen

    Verwenden Sie dieses Skript, um den Snapshot-Namen zu extrahieren, der aus der Aufgabe „ServiceNow-DevOps-Config-Agent-Get-Snapshot“ 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 ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name direkt nach der Aufgabe ServiceNow-DevOps-Config-Agent-Get-Snapshot 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

    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.
    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

    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. UniqueCDIs).
    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. INI, YAML, PROPS).
    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.

    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

    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.
    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

    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.
    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

    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 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.
    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

    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)