GitHub Pipeline-Aktionen

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Verwenden Sie diese Aktionen in GitHub Pipeline, die mit interagiert werden soll DevOps Config Datenmodell.

    Wichtig:
    DevOps Config Ist jetzt veraltet und wird nicht mehr unterstützt oder ist für eine neue Aktivierung verfügbar.

    GitHub Geskriptete und deklarative Pipelines werden unterstützt.

    Die ServiceNow DevOps Config Validate (servicenow-devops-config-validieren) und DevOps Config-Export (servicenow-devops-config-Export) GitHub Aktionen werden zum Erstellen einer bestimmten Pipeline-Definition bereitgestellt.

    DevOps-Konfigurationsvalidierung (servicenow-devops-config-validieren)

    Laden Sie Konfigurationsdaten in ein hoch, und validieren Sie sie ServiceNow Instanz.

    Eingabeargumente
    Argument Beschreibung
    Instanz-url ServiceNow Instanz-URL.
    devops-Integration-username DevOps Config Integrationsanwendername.
    devops-Integration-user-password DevOps Config Passwort des Integrationsanwenders.
    Anwendungsname DevOps Config Anwendungsname.
    Ziel Datenmodellziel, in das Konfigurationsdateien hochgeladen werden.
    Beispiel für Datenmodellziele:
    • Komponente
    • Sammlung
    • bereitstellbar
    Bereitstellbarer Name Name des bereitstellbaren Elements in DevOps Config Datenmodell.
    Sammlungsname (Optional) Sammlungsname im Datenmodell. Erforderlich, wenn das Ziel „Sammlung“ ist.
    Namenspfad (Optional) Namenspfad des Knotens im Datenmodell, in den die Konfigurationsdateien hochgeladen werden.
    Konfigurationsdateipfad Dateipfad beim Hochladen einer einzelnen Datei oder Dateipfadmuster basierend auf dem Ant-Stil-Muster beim Hochladen mehrerer Dateien in das Datenmodell. Siehe Verzeichnisbasierte Aufgaben Für Informationen zu Ant-Stilmustern in Apache ANT.1.10.14 Manuelle Dokumentation.
    Datenformat Datenformat der Konfigurationsdateien.
    Beispieldatenformate sind:
    • CSV
    • INI
    • JSON
    • Eigenschaften
    • RAW
    • XML
    • YAML
    Datenformat-Attribut (Optional) Erweiterte Datenformatattribute zum Analysieren von Konfigurationsdaten.
    automatisches Commit Boolesche Eingabe (wahr oder falsch) zum Commit von Konfigurationsdaten nach erfolgreichem Upload.

    Standardwert: true

    automatisch validieren Boolesche Eingabe (wahr oder falsch) zur Validierung der Konfigurationsdaten nach erfolgreichem Commit.

    Standardwert: true

    automatische Veröffentlichung Boolesche Eingabe (wahr oder falsch) zum Veröffentlichen von Konfigurationsdaten nach erfolgreicher Validierung.

    Standardwert: true

    änderungssatz (Optional) Öffnen Sie das Changeset, das der Upload-Aktion zugeordnet ist. Wenn nicht angegeben, wird ein neues Changeset erstellt.
    Snapshot-Validation-timeout (Optional) maximale Zeit in Minuten, bis die Validierung abgeschlossen ist, bevor die Aktion fehlschlägt.

    Standardwert: 60

    Beenden-bei-Richtlinienvalidierungsfehler (Optional) boolesche Eingabe (wahr oder falsch) zum Beenden von GitHub Workflow nach Fehlern bei der Richtlinienvalidierung.

    Standardwert: false

    Ausgaben
    changeset-Nummer

    Changeset-Nummer, die der Upload-Aktion zugeordnet ist.

    Snapshot-Name

    Name des neuesten Snapshots des bereitstellbaren Elements.

    Validierungsstatus

    Validierungsstatus des Snapshots. Beispiel: Bestanden , Pass_with_Exception , Fehlgeschlagen , Execution_error , Not_validated

    Validierungsergebnisse

    Validierungsergebnisse im JSON-Format für den Snapshot.

    Beispiel – Konfigurationsdateien werden in ein bereitstellbares Element hochgeladen
    upload_and_validate_job:
        name: Upload and validate
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:     
          - name: ServiceNow Devops Config Validate
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: deployable
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/k8s/helm/*.yml
              data-format: yaml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    Beispiel – Konfigurationsdateien werden in eine Sammlung hochgeladen
    upload_and_validate_job:
        name: Upload and validate
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:     
          - name: ServiceNow Devops Config Validate
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: collection
              deployable-name: Production
              collection-name: release-1.0
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/k8s/helm/*.yml
              data-format: yaml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    Beispiel – Konfigurationsdateien werden in eine Komponente hochgeladen
    upload_and_validate_job:
        name: Upload and validate
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:     
          - name: ServiceNow Devops Config Validate
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: component
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/k8s/helm/*.yml
              data-format: yaml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    Beispiel – mehrere Konfigurationsdateien werden in einem einzigen Commit hochgeladen
    upload_and_validate_job:
        name: Upload and validate
        
        needs: <upstream job>
        runs-on: ubuntu-latest
        # Upload an XML file to a component
        steps:     
          - name: ServiceNow Devops Config Validate
            id: upload_and_validate_xml
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: component
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: false
              auto-validate: true
              auto-publish: true
              config-file-path: data/infra/v1/*.xml
              data-format: xml
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
    
        # Upload a JSON file to the vars folder of a deployable
        steps:     
          - name: ServiceNow Devops Config Validate
            id: upload_and_validate_json
            uses: ServiceNow/servicenow-devops-config-validate@v1.0.0-beta
            with:
              instance-url: ${{ secrets.SN_INSTANCE_URL }}
              devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
              devops-integration-user-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
              application-name: PaymentDemo
              target: component
              deployable-name: Production
              name-path: web-api-v1.0
              auto-commit: true
              auto-validate: true
              auto-publish: true
              config-file-path: data/infra/prod/*.json
              data-format: json
              snapshot-validation-timeout: 60
              terminate-on-policy-validation-failures: true
              changeset : ${{ steps.upload_and_validate_xml.outputs.changeset-number }}

    DevOps Config-Export (servicenow-devops-config-Export)

    Exportieren Sie Konfigurationsdaten mit ServiceNow DevOps Config.

    Eingabeargumente
    Argument Beschreibung
    Instanz-url ServiceNow Instanz-URL.
    devops-Integration-username DevOps Config Integrationsanwendername.
    devops-Integration-user-password DevOps Config Passwort des Integrationsanwenders.
    Anwendungsname DevOps Config Anwendungsname.
    Bereitstellbarer Name Name des bereitstellbaren Elements in DevOps Config Datenmodell.
    exporter-Name Exporter-Name, der Konfigurationsdaten aus exportiert DevOps Config Datenmodell.
    Snapshot-Name (Optional) Snapshot, aus dem Daten exportiert werden sollen. Wenn kein Snapshot angegeben ist, wird der neueste Snapshot für das bereitstellbare Element verwendet.
    exporter-Data-Format (Optional) Format zum Exportieren der Snapshot-Daten.
    Beispieldatenformate sind:
    • CSV
    • INI
    • JSON
    • Eigenschaften
    • RAW
    • XML
    • YAML
    exporter-Argumente (Optional) Argumente, die zusammen mit dem Exporter verwendet werden sollen. Der Wert muss ein JSON-Objekt sein, das als Zeichenfolge dargestellt wird.
    Ausgabe
    exporter-Inhalt

    Konfigurationsdaten, die der Exporter exportiert.

    Beispiel – bestimmten Snapshot exportieren
    export:
        name: Export config
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:
        - name: ServiceNow DevOps Config Export
          uses: ServiceNow/servicenow-devops-config-export@v1.0.0-beta
          with:
            instance-url: ${{ secrets.SN_INSTANCE_URL }}
            devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
            devops-integration-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
            application-name: PaymentDemo
            deployable-name: Production
            exporter-name: returnDataforNodeName-now
            snapshot-name: Production-v1.dpl
            exporter-arguments: '{ "nodeName": "node1" }'
    Beispiel – Exportieren Sie den zuletzt bereitgestellten Snapshot mit zusätzlichen Parametern
    export:
        name: Export config
        needs: <upstream job>
        runs-on: ubuntu-latest
        steps:
        - name: ServiceNow DevOps Config Export
          uses: ServiceNow/servicenow-devops-config-export@v1.0.0-beta
          with:
            instance-url: ${{ secrets.SN_INSTANCE_URL }}
            devops-integration-username: ${{ secrets.SN_DEVOPS_CONFIG_USERNAME }}
            devops-integration-password: ${{ secrets.SN_DEVOPS_CONFIG_PASSWORD }}
            application-name: PaymentDemo
            deployable-name: Production
            exporter-name: returnDataforNodeName-now
            exporter-arguments: '{ "nodeName": "node1" }'
            exporter-data-format: XML