---
sourceDocument: Gestion des services IT Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des services IT Xanadu

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# GitHub Actions de pipeline

# GitHub Actions de pipeline {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 minutes de lecture

Utilisez ces actions dans votre GitHub pipeline pour interagir avec le DevOps Config modèle de données.  
Important :  
À partir de la version Washington DC, DevOps Config ne sera plus disponible. L'application sera masquée et ne sera plus installée sur les nouvelles instances, mais continuera d'être prise en charge. Pour en savoir plus, consultez l'article [Processus de retrait \[KB0867184\]](https://support.servicenow.com/kb_view.do?sysparm_article=KB0867184) dans la base de connaissances Now Support.

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

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

## Validation de la configuration DevOps (servicenow-devops-config-validate) {#devops-config-github-integration__section_rsc_wdj_psb}

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

Arguments d'entrée
:   {#devops-config-github-integration__table_k3q_bf4_tzb__entry__2}

    | Argument | Description |
    |-|-|
    | URL d'instance | ServiceNow URL de l'instance. |
    | devops-integration-nom d'utilisateur | DevOps Config Nom d'utilisateur d'intégration. |
    | devops : intégration-utilisateur-mot de passe | DevOps Config Mot de passe de l'utilisateur d'intégration. |
    | nom d'application | DevOps Config Nom de l'application. |
    | 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` * `déployable` {#devops-config-github-integration__ul_yrv_h34_tzb} |
    | nom_déployable | Nom de l'élément déployable dans le modèle de DevOps Config données. |
    | nom de collection | (Facultatif) Nom de la collection dans le modèle de données. Requis lorsque la cible est la collecte. |
    | chemin d'accès nom | (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. |
    | chemin d'accès au fichier de configuration | Chemin d'accès au fichier lors du chargement d'un seul fichier ou d'un modèle de chemin d'accès au fichier basé sur le modèle de style Ant lors du chargement de plusieurs fichiers dans le modèle de données. Voir [Tâches basées sur les répertoires](https://ant.apache.org/manual/dirtasks.html) pour plus d'informations sur les motifs de style Ant dans la Apache documentation du manuel Ant.1.10.14. |
    | format de données | 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` {#devops-config-github-integration__ul_vpc_rg4_tzb} |
    | attribut format_données | (Facultatif) Attributs de format de données étendus pour l'analyse des données de configuration. |
    | Valider automatiquement | 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` |
    | Valider automatiquement | Entrée booléenne (vrai ou faux) pour valider les données de configuration après une validation réussie. Valeur par défaut : `vrai` |
    | Publier automatiquement | Entrée booléenne (vrai ou faux) pour publier les données de configuration après validation. Valeur par défaut : `vrai` |
    | Ensemble de changements | (Facultatif) Ouvrez l'ensemble de changements associé à l'action de chargement. S'il n'est pas fourni, un nouvel ensemble de changements est créé. |
    | instantané-validation-délai d'expiration | (Facultatif) Durée maximale en minutes pour que la validation se termine avant l'échec de l'action. Valeur par défaut : `60` |
    | Terminer-sur-échecs-de-validation-de-politique | (Facultatif) Entrée booléenne (vrai ou faux) pour arrêter le workflow après des échecs de validation de politique GitHub . Valeur par défaut : `faux` |
    [ ]

    {#devops-config-github-integration__table_k3q_bf4_tzb}

Sorties
:

    numéro de l'ensemble de changements

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

    nom_instantané

    :   Nom du dernier instantané du déployable.

    état de validation

    :   État de validation de l'instantané. Exemple : `réussi,``passed_with_exception`, `échoué`, `execution_error`, `not_validated`

    résultats de validation

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

Exemple : chargement des fichiers de configuration vers un élément déployable{#devops-config-github-integration__example-snapshot}
:

        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 : téléchargement de fichiers de configuration dans 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 configuration DevOps (servicenow-devops-config-export) {#devops-config-github-integration__section_ynh_3nq_11c}

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

Arguments d'entrée
:   {#devops-config-github-integration__table_znh_3nq_11c__entry__2}

    | Argument | Description |
    |-|-|
    | URL d'instance | ServiceNow URL de l'instance. |
    | devops-integration-nom d'utilisateur | DevOps Config Nom d'utilisateur d'intégration. |
    | devops : intégration-utilisateur-mot de passe | DevOps Config Mot de passe de l'utilisateur d'intégration. |
    | nom d'application | DevOps Config Nom de l'application. |
    | nom_déployable | Nom de l'élément déployable dans le modèle de DevOps Config données. |
    | nom de l'exportateur | Nom de l'exportateur qui exporte les données de configuration à partir du DevOps Config modèle de données. |
    | nom_instantané | (Facultatif) Instantané à partir duquel exporter des données. Si aucun instantané n'est spécifié, le dernier instantané du déployable est utilisé. |
    | format des données de l'exportateur | (Facultatif) Format permettant d'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` {#devops-config-github-integration__ul_srz_khv_11c} |
    | arguments de l'exportateur | (Facultatif) Arguments à utiliser avec l'exportateur. La valeur doit être un objet JSON représenté sous forme de chaîne. |
    [ ]

    {#devops-config-github-integration__table_znh_3nq_11c}

Sortie
:

    contenu de l'exportateur

    :   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


