Actions de pipeline GitHub

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 5 minutes de lecture
  • Utilisez ces actions dans votre pipeline GitHub pour interagir avec le modèle de données DevOps Config.

    Important :
    DevOps Config est désormais obsolète et n’est plus pris en charge ni disponible pour une nouvelle activation.

    Les pipelines GitHub scriptés et déclaratifs sont pris en charge.

    Les actions ServiceNow Validation de DevOps Config (servicenow-devops-config-validate) et Exportation de DevOps Config (servicenow-devops-config-export) GitHub sont fournies pour créer une définition de pipeline spécifique.

    Validation de DevOps Config (servicenow-devops-config-validate)

    Chargez et validez les données de configuration dans une instance ServiceNow.

    Arguments d'entrée
    Argument Description
    instance-url URL de l'instance ServiceNow.
    devops-integration-username Nom d'utilisateur d'intégration DevOps Config
    devops-integration-user-password Mot de passe de l'utilisateur d'intégration DevOps Config.
    application-name Nom de l'application DevOps Config.
    target Cible du modèle de données dans laquelle les fichiers de configuration sont chargés.
    Voici des exemples de cibles de modèle de données :
    • composant
    • collection
    • élément déployable
    deployable-name Nom de l'élément déployable dans le modèle de données DevOps Config.
    collection-name (Facultatif) Nom de la collection dans le modèle de données. Requis lorsque la cible est une collection.
    name-path (Facultatif) Nom et chemin d'accès du nœud dans le modèle de données où les fichiers de configuration sont chargés.
    config-file-path Chemin d'accès au fichier lors du chargement d'un seul fichier ou schéma de chemin d'accès basé sur le schéma de style Ant lors du chargement de plusieurs fichiers dans le modèle de données. Consultez Tâches basées sur les répertoires pour plus d'informations sur les schémas de style Ant dans la documentation du manuel Apache Ant.1.10.14.
    data-format Format de données des fichiers de configuration.
    Des exemples de formats de données sont les suivants :
    • CSV
    • INI
    • JSON
    • Propriétés
    • RAW
    • XML
    • YAML
    data-format-attribute (Facultatif) Attributs de format de données étendus pour l'analyse des données de configuration.
    auto-commit Entrée booléenne (vrai ou faux) pour valider les données de configuration après la réussite du chargement.

    Valeur par défaut : vrai

    auto-validate Entrée booléenne (vrai ou faux) pour valider les données de configuration après la réussite de la validation.

    Valeur par défaut : vrai

    auto-publish Entrée booléenne (vrai ou faux) pour publier les données de configuration après la réussite de la validation.

    Valeur par défaut : vrai

    changeset (Facultatif) Ouvrez l'ensemble de changements associé à l'action de chargement. S'il n'est pas fourni, un nouvel ensemble de changements est créé.
    snapshot-validation-timeout (Facultatif) Durée maximale en minutes pour que la validation se termine avant l'échec de l'action.

    Valeur par défaut : 60

    terminate-on-policy-validation-failures (Facultatif) Entrée booléenne (vrai ou faux) pour arrêter le workflow GitHub après des échecs de validation de politique.

    Valeur par défaut : faux

    Sorties
    changeset-number

    Numéro de l'ensemble de changements associé à l'action de chargement.

    snapshot-name

    Nom du dernier instantané de l'élément déployable.

    validation-status

    État de validation de l'instantané. Exemple : réussi, réussi_avec_exception, échoué, erreur_exécution, non_validé

    validation-results

    Résultats de validation au format JSON pour l'instantané.

    Exemple : chargement des fichiers de configuration vers un élément déployable
    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
    Exemple : chargement des fichiers de configuration vers une collection
    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
    Exemple : chargement des fichiers de configuration vers un composant
    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
    Exemple : chargement de plusieurs fichiers de configuration dans une seule validation
    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 }}

    Exportation de DevOps Config (servicenow-devops-config-export)

    Exportez des données de configuration à l'aide de ServiceNow DevOps Config.

    Arguments d'entrée
    Argument Description
    instance-url URL de l'instance ServiceNow.
    devops-integration-username Nom d'utilisateur d'intégration DevOps Config
    devops-integration-user-password Mot de passe de l'utilisateur d'intégration DevOps Config.
    application-name Nom de l'application DevOps Config.
    deployable-name Nom de l'élément déployable dans le modèle de données DevOps Config.
    exporter-name Nom de l'exportateur qui exporte les données de configuration à partir du modèle de données DevOps Config.
    snapshot-name (Facultatif) Instantané à partir duquel exporter des données. Si aucun instantané n'est spécifié, le dernier instantané de l'élément déployable est utilisé.
    exporter-data-format (Facultatif) Format vers lequel exporter les données de l'instantané.
    Des exemples de formats de données sont les suivants :
    • CSV
    • INI
    • JSON
    • Propriétés
    • RAW
    • XML
    • YAML
    exporter-arguments (Facultatif) Arguments à utiliser avec l'exportateur. La valeur doit être un objet JSON représenté sous forme de chaîne.
    Sortie
    exporter-content

    Données de configuration que l'exportateur exporte.

    Exemple : exporter un instantané spécifique
    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" }'
    Exemple : exporter le dernier instantané déployé avec des paramètres supplémentaires
    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