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

 Release :

    - australia

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des services IT Australie

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Actions de pipeline Jenkins

# Actions de pipeline Jenkins {#ariaid-title1}

* Rversion finale: Australia
* 
* Mis à jour 12 mars 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 15 minutes de lecture

Utilisez ces actions dans votre pipeline Jenkins 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 Jenkins scriptés et déclaratifs sont pris en charge.  
Ces actions sont fournies pour créer une définition de pipeline spécifique afin d'atteindre votre objectif. Ajoutez une commande à votre fichier Jenkins pour effectuer ces actions.

* snDevOpsConfigAction combinée pour charger, valider et publier des données de configuration.

* snDevOpsConfigUploadCharger les données de configuration dans DevOps Config via la Tâche d'agent.

* snDevOpsConfigGetSnapshotsRécupérer les instantanés pour un élément déployable ou pour tous les éléments déployables impactés.

* snDevOpsConfigPublishPublier un instantané pour l'application et l'élément déployable donnés.

* snDevOpsConfigExportExporter un instantané pour une application et un élément déployable donnés.

* snDevOpsConfigRegisterPipelineLier un ensemble de changements et/ou un instantané à une exécution de pipeline.

* snDevOpsConfigValidateValider les données de configuration par rapport aux politiques de votre organisation.

* snDevOpsChangeCréer une demande de changement avec l'instantané associé joint.

{#devops-config-jenkins-integration__ul_fp5_1qf_psb}

## snDevOpsConfig {#devops-config-jenkins-integration__section_iml_cxp_cyb}

Charger, valider et publier les changements de données de configuration en une seule étape.

Cette action combine les actions snDevOpsConfigUpload, snDevOpsConfigGetSnapshots et snDevOpsConfigRegisterPipeline en une seule action, plutôt que d'avoir à exécuter chaque action séparément.

Variables d'entrée
:

    |-|-|
    | configFile | Spécifie le fichier de données de configuration à charger vers le chemin d'accès du composant ou de l'élément déployable dans le modèle de données. |
    | applicationName | Spécifie l'application dans laquelle les données de configuration seront chargées. |
    | target | Spécifie la cible du modèle de données vers laquelle les données de configuration seront chargées (par exemple, <kbd class="ph userinput">composant</kbd>, <kbd class="ph userinput">collection</kbd>, <kbd class="ph userinput">élément déployable</kbd>). |
    | collectionName | (Facultatif) Nom de la collection vers laquelle charger (requis si la cible est une collection). |
    | deployableName | (Facultatif) Nom de l'élément déployable vers lequel charger (requis si la cible est un élément déployable). |
    | namePath | Spécifie le chemin d'accès du nom dans le modèle de données vers lequel les données de configuration seront chargées. Remarque : Lors du chargement vers un dossier vars, vous devez commencer le nom du chemin par \<\< vars/ \>\> pour spécifier le chemin d'accès du dossier variable. |
    | dataFormat | Spécifie le format d'exportation des données du fichier de configuration (par exemple, <kbd class="ph userinput">JSON</kbd>, <kbd class="ph userinput">YAML</kbd>, <kbd class="ph userinput">XML</kbd>, etc.) |
    | autoCommit | Spécifie si les données de configuration doivent être validées après le chargement (vrai/faux). La valeur par défaut est vrai. |
    | autoValidate | Spécifie si les données de configuration doivent être validées pendant la validation (vrai/faux). La valeur par défaut est vrai. |
    | autoPublish | Spécifie si les données de configuration doivent être publiées après validation (vrai/faux). La valeur par défaut est vrai. |
    | changesetNumber | (Facultatif) Spécifie l'ensemble de changements (ouvert) auquel cette activité de chargement est associée. S'il n'est pas fourni, un nouvel ensemble de changements est créé. Remarque : Utilisé uniquement pour plusieurs scénarios de chargement. |
    | markFailed | (Facultatif) Fait échouer le pipeline en cas d'échec de la tentative de validation (en raison d'un problème back-end). |
    | showResults | (Facultatif) Affichez les résultats de validation dans le journal de la console Jenkins. |
    | continueWithLatest | (Facultatif) Spécifie s'il faut renvoyer le dernier instantané selon la combinaison <kbd class="ph userinput">applicatioName</kbd>-<kbd class="ph userinput">deployableName</kbd>-<kbd class="ph userinput">changesetNumber</kbd> si aucun instantané n'est généré (vrai/faux). Par défaut, la valeur est faux. |
    [ ]

    {#devops-config-jenkins-integration__table_mqp_lxp_cyb}

Sortie
:
    * En cas de réussite, un instantané ou un ensemble d'instantanés.
    * En cas d'échec, un message d'échec d'API/back-end s'affiche.
    {#devops-config-jenkins-integration__ul_gxy_sxh_2yb}

Exemple
:
    * Entrée :  


          snapshotObj = snDevOpsConfig(
               applicationName: "PaymentDemo",
               configFile: "config/application/Collection/Collection2/*.json",
               target: "collection",
               collectionName: "release-1.0",
               namePath: "settings/infrastructure/database",
               dataFormat: "json",
               autoCommit: 'true',
               autoValidate: 'true',
               autoPublish: 'true',
               continueWithLatest: 'true',
               markFailed: 'true',
               showResults: 'false'
          )

          echo"*************************\n ${snapshotObj}"

    * Sortie :
    {#devops-config-jenkins-integration__ul_hlr_2y5_2yb}

Exemple : collection
:   Remarque :  
    Lors du chargement vers une collection, l'argument <kbd class="ph userinput">collectionName</kbd> est requis.


        snDevOpsConfig(
             applicationName: 'PaymentDemo',
             target: 'collection',
             collectionName: 'release-1.0',
             namePath: 'web-api-v1.0',
             configFile: 'k8s/helm/*.yml',
             dataFormat: 'yaml',
             autoCommit: 'true',
             autoValidate: 'true',
             autoPublish: 'true'
        )

Exemple : élément déployable
:   Remarque :  
    Lors du chargement vers un élément déployable, l'argument <kbd class="ph userinput">deployableName</kbd> est requis.


        snDevOpsConfig(
             applicationName: 'PaymentDemo',
             target: 'deployable',
             deployableName: 'Production',
             namePath: 'web-api-v1.0',
             configFile: 'k8s/helm/*.yml',
             dataFormat: 'yaml',
             autoCommit: 'true',
             autoValidate: 'true',
             autoPublish: 'true'
        )

Chargements multiples en une seule validation

:   Pour charger des données de configuration à partir de différents emplacements, ou pour charger un ensemble de données vers plusieurs cibles (par exemple, un composant, un élément déployable) suivies comme une validation unique vers votre modèle de données, vous pouvez appeler l'action <kbd class="ph userinput">snDevOpsConfigUpload</kbd> autant de fois que nécessaire pour le premier ensemble de chargements, puis appeler l'action <kbd class="ph userinput">snDevOpsConfig</kbd> pour le chargement final.​

    Voici un exemple.  
    * Lors du premier chargement, créez une variable (par exemple, $changeset) et affectez-lui la valeur de retour de l'étape afin qu'elle puisse être réutilisée lors des chargements suivants​.

      Chargement 1 - fichier XML vers le composant :


          $changeset = snDevOpsConfigUpload(
               applicationName: 'PaymentDemo',
               target: 'component',
               namePath: 'paymentService-v1.0',
               configFile: 'infra/v1/config.xml',
               dataFormat: 'xml',
               autoCommit: 'false',
               autoValidate: 'false',
               autoPublish: 'false'
          )

    * Lors des chargements suivants (et du chargement final), utilisez la variable comme entrée​.

      Chargement 2 - fichier JSON vers le dossier vars de l'élément déployable :


          snDevOpsConfig(
               applicationName: 'PaymentDemo',
               target: 'deployable',
               deployableName: 'Production',
               namePath: 'vars/dbSettings',
               configFile: 'infra/prod/dbConfig.json',
               dataFormat: 'json',
               changesetNumber: "${changeset}",
               autoCommit: 'false',
               autoValidate: 'false',
               autoPublish: 'false',
               continueWithLatest: 'true'
          )

    {#devops-config-jenkins-integration__ul_urp_fzh_2yb}

Charger plusieurs formats de données
:   Pour charger des données de configuration dans différents formats de fichier, vous pouvez appeler l'action <kbd class="ph userinput">snDevOpsConfig</kbd> avec ces spécifications.

    * Assurez-vous que l'argument <kbd class="ph userinput">configFile</kbd> utilise un caractère générique dans le chemin d'accès.
    * Ne spécifiez pas l'argument <kbd class="ph userinput">dataFormat</kbd>.
    {#devops-config-jenkins-integration__ul_zbp_1zg_2zb}

    Voici un exemple.

    * Supposons que nous avons ces fichiers de configuration.

    * Voici comment charger les fichiers de configuration à l'aide de <kbd class="ph userinput">snDevOpsConfig</kbd>.  


          snDevOpsConfig(
               applicationName: 'PaymentDemo',
               target: 'component',
               namePath: 'paymentService-v1.0',
               configFile: 'infra/v1/*',
               autoCommit: 'true',
               autoValidate: 'true',
               autoPublish: 'true'
          )

    {#devops-config-jenkins-integration__ul_lnt_xxg_2zb}

## snDevOpsConfigUpload {#devops-config-jenkins-integration__section_f12_1lb_ypb}

Cette action charge un fichier de configuration à un emplacement donné dans un modèle de données d'application.

Elle est destinée à être utilisée de manière itérative pour tous les fichiers de configuration à charger dans le modèle de données d'application pendant l'exécution du pipeline.  
Prend en charge :

* Charger vers :
  * Un composant, une collection ou un élément déployable.
  * Dossier de variables (vars) d'un composant, d'une collection ou d'un élément déployable.
  {#devops-config-jenkins-integration__ul_wwn_5tk_dwb}
* Schéma regex pour l'entrée du fichier de configuration.
* Possibilité d'être appelé plusieurs fois dans le même pipeline.
{#devops-config-jenkins-integration__ul_bph_ysg_hvb}

Variables d'entrée
:

    |-|-|
    | configFile | Spécifie le fichier de données de configuration à charger vers le chemin d'accès du composant ou de l'élément déployable dans le modèle de données. |
    | applicationName | Spécifie l'application dans laquelle les données de configuration seront chargées. |
    | target | Spécifie la cible du modèle de données vers laquelle les données de configuration seront chargées (par exemple, <kbd class="ph userinput">composant</kbd>, <kbd class="ph userinput">collection</kbd>, <kbd class="ph userinput">élément déployable</kbd>). |
    | collectionName | (Facultatif) Nom de la collection vers laquelle charger (requis si la cible est une collection). |
    | deployableName | Nom de l'élément déployable vers lequel charger (requis si la cible est un élément déployable). |
    | namePath | Spécifie le chemin d'accès du nom dans le modèle de données vers lequel les données de configuration seront chargées. Remarque : Lors du chargement vers un dossier vars, vous devez commencer le nom du chemin par \<\< vars/ \>\> pour spécifier le chemin d'accès du dossier variable. |
    | dataFormat | Spécifie le format d'exportation des données du fichier de configuration (par exemple, <kbd class="ph userinput">JSON</kbd>, <kbd class="ph userinput">YAML</kbd>, <kbd class="ph userinput">XML</kbd>, etc.) |
    | convertPath | (Facultatif) Spécifie s'il faut conserver la structure des répertoires des fichiers de configuration (par rapport à l'espace de travail) et convertir les répertoires en chemins d'accès dans le modèle de données. |
    | changesetNumber | (Facultatif) Spécifie l'ensemble de changements (ouvert) auquel cette activité de chargement est associée. S'il n'est pas fourni, un nouvel ensemble de changements est créé. Remarque : Utilisé uniquement pour plusieurs scénarios de chargement. |
    | autoCommit | Spécifie si les données de configuration doivent être validées après le chargement (vrai/faux). Par défaut, la valeur est faux. |
    | autoValidate | Spécifie si les données de configuration doivent être validées pendant la validation (vrai/faux). Par défaut, la valeur est faux. |
    [ ]

    {#devops-config-jenkins-integration__table_ct3_qqf_psb}

Variable de sortie
:

    |-|-|
    | changesetNumber | (Facultatif) Spécifie l'ensemble de changements (ouvert) auquel cette activité de chargement est associée. Si un numéro d'ensemble de changements n'est pas fourni, un nouvel ensemble de changements est créé. |
    [ ]

    {#devops-config-jenkins-integration__table_iz5_2ng_hvb}

Exemple
:
    * Entrée :Voici un exemple de l'action <kbd class="ph userinput">snDevOpsConfigUpload</kbd>. À des fins d'illustration, nous allons affecter la réponse à une variable, <kbd class="ph userinput">changeSetId</kbd>, qui pourrait être répercutée dans notre journal de console pour les scénarios de débogage.


          changeSetId = snDevOpsConfigUpload(
               applicationName: "PaymentDemo",
               target: 'component',
               namePath: "web-api-v1.0",
               configFile: "k8s/helm/values.yml",
               dataFormat: "json",
               autoCommit: 'true',
               autoValidate: 'true'
          )

          echo "Changeset: $changeSetId created"

    * Sortie :En plus des données chargées dans notre modèle de données dans DevOps Config, la sortie ressemblerait à ceci (en utilisant le module d'extension Blue Ocean pour visualiser la sortie de la console).

    {#devops-config-jenkins-integration__ul_tqb_n4l_yxb}

Exemple : chargements multiples (composant)
:   Vous pouvez appeler l'action de chargement plusieurs fois pour charger des données de configuration dans différents formats de fichiers à partir de différents emplacements, tout en conservant la partie des chargements d'un ensemble de changements.

    * Lors du premier chargement, nommez l'action afin que la variable de sortie changesetNumber puisse être réutilisée lors des chargements suivants.  
      Chargement du fichier YAML :


          $changeset = snDevOpsConfigUpload(
               applicationName: 'PaymentDemo',
               target: 'component',
               namePath: 'wep-api-v1.0',
               configFile: 'k8s/helm/values.yml',
               dataFormat: 'yaml',
               autoCommit: 'false',
               autoValidate: 'false'
          )

    * Dans les chargements suivants, référencez la variable de sortie changesetNumber du premier chargement en tant que variable d'entrée.  
      Chargement de 3 fichiers JSON :


          snDevOpsConfigUpload(
               applicationName: 'PaymentDemo',
               target: 'component',
               namePath: 'wep-api-v1.0',
               configFile: 'infra/*.json',
               dataFormat: 'json',
               autoCommit: 'false',
               autoValidate: 'false',
               changesetNumber: "${changeset}"
          )

    * Lors de l'appel final, en plus de référencer la variable de sortie changesetNumber du premier chargement en tant que variable d'entrée, définissez autoCommit et autoValidate sur <kbd class="ph userinput">vrai</kbd>.  
      Chargement du fichier INI :


          snDevOpsConfigUpload(
               applicationName: 'PaymentDemo',
               target: 'component',
               namePath: 'wep-api-v1.0',
               configFile: 'featureToggles/set1.ini',
               dataFormat: 'ini',
               autoCommit: 'true',
               autoValidate: 'true',
               changesetNumber: "${changeset}"
          )

    {#devops-config-jenkins-integration__ul_hwg_rng_hvb}

Exemple : chargements multiples (collection et variables)
:   Vous pouvez appeler l'action de chargement plusieurs fois pour charger des données de configuration dans différents formats de fichiers à partir de différents emplacements, tout en conservant la partie des chargements d'un ensemble de changements.

    * Lors du premier chargement, créez une variable (par exemple, $changeset) et affectez-lui la valeur de retour de l'étape afin qu'elle puisse être réutilisée lors des chargements suivants.  
      Chargement du fichier XML :


          $changeset = snDevOpsConfigUpload(
               applicationName: 'PaymentDemo',
               target: 'collection',
               collectionName: 'release-v1.0',
               namePath: 'v1-common-configs',
               configFile: 'infra/v1/config.xml',
               dataFormat: 'xml',
               autoCommit: 'false',
               autoValidate: 'false'
          )

    * Lors des chargements suivants, utilisez la variable comme entrée.  
      Chargement du fichier JSON :


          snDevOpsConfigUpload(
               applicationName: 'PaymentDemo',
               target: 'deployable',
               deployableName: 'Production',
               namePath: 'vars/dbSettings',
               configFile: 'infra/prod/dbConfig.json',
               dataFormat: 'json',
               autoCommit: 'true',
               autoValidate: 'true',
               changesetNumber: "${changeset}"
          )

    {#devops-config-jenkins-integration__ul_ofk_4qm_dwb}

    Remarque :  
    Pour charger vers un dossier de variables, uploadTarget doit être défini sur <kbd class="ph userinput">élément déployable</kbd> et les valeurs correctes doivent être définies pour deployableName et changesetNumber.

## snDevOpsConfigGetSnapshots {#devops-config-jenkins-integration__section_ics_2rf_psb}

Cette action est destinée à être utilisée dans différents scénarios :

* Récupérer tous les instantanés pour tous les éléments déployables impactés.Lorsque les fichiers de configuration sont chargés dans un modèle de données d'application, le système crée des instantanés pour tous les éléments déployables jugés impactés par le chargement. En supposant que la validation du dernier appel de chargement est activée, l'étape suivante dans le flux de CI consiste à itérer dans la liste des instantanés et à s'assurer qu'ils ont tous réussi la validation.

* Récupérer un instantané spécifique.À la suite du flux CD, un instantané spécifique est récupéré afin qu'il puisse être publié, puis exporté pour être consommé en aval (par exemple, pour mettre en service une infrastructure ou une application).

* Récupérer les derniers instantanés d'un élément déployable d'une application dans le cas où un chargement ne génère aucun instantané.Un ensemble de données de configuration peut être déployé dans un environnement pour une combinaison application-déployable-ensemble de changements lorsqu'aucun changement de configuration n'est apporté.

* Afficher les résultats de validation de politique dans une exécution de pipeline.Affichez les résultats de validation de politique sous forme de résultats de tests sur la page Résultats des tests de version Jenkins, y compris conformes avec exception, lors de l'obtention d'un instantané.

{#devops-config-jenkins-integration__ul_lgc_ry2_psb}

Définitions d'entrées
:

    |-|-|
    | applicationName | Spécifie l'application vers laquelle charger ou exporter les données de configuration. |
    | deployableName | (Facultatif) Spécifie l'élément déployable pour l'application sur lequel obtenir les dernières données d'instantané. |
    | changesetNumber | (Facultatif) Spécifie l'ID d'ensemble de changements pour l'ensemble des changements de configuration qui intéressent l'utilisateur. |
    | isValidated | (Facultatif) Spécifie s'il faut renvoyer uniquement les instantanés qui sont réussis ou réussis avec une exception (vrai/faux). La valeur par défaut est vrai. |
    | continueWithLatest | (Facultatif) Spécifie s'il faut renvoyer le dernier instantané selon la combinaison <kbd class="ph userinput">applicatioName</kbd>-<kbd class="ph userinput">deployableName</kbd>-<kbd class="ph userinput">changesetNumber</kbd> si aucun instantané n'est généré (vrai/faux). Par défaut, la valeur est faux. |
    [ ]

    {#devops-config-jenkins-integration__table_hmn_3rf_psb}

Sortie
:
    * En cas de réussite, un instantané ou un ensemble d'instantanés.
    * En cas d'échec, un message d'échec d'API/back-end s'affiche.
    {#devops-config-jenkins-integration__ul_xhh_jqg_hvb}

Exemple
:
    * Instantané spécifique (spécifié) :  


          $snapshots = snDevOpsConfigGetSnapshots(
               applicationName: 'PaymentDemo',
               deployableName: 'Production',
               changesetNumber: 'Chset-16',
               isValidated: 'true',
               continueWithLatest: 'true'
          )

    * Dernier instantané validé (renvoie le dernier instantané pour la combinaison d'application et d'élément déployable) :  


          $snapshots = snDevOpsConfigGetSnapshots(
               applicationName: 'PaymentDemo',
               deployableName: 'Production',
               isValidated: 'true'
          )

    * Tous les instantanés de l'ensemble de changements (renvoie tous les instantanés pour la combinaison d'application et d'élément déployable) :  


          $snapshots = snDevOpsConfigGetSnapshots(
               applicationName: 'PaymentDemo',
               changesetNumber: 'Chset-16'
          )

    * Afficher les résultats de validation de politique dans une exécution de pipeline.  
      1. Affectez une variable au chemin d'accès au fichier qui contient les résultats de validation d'instantané générés pendant l'action <kbd class="ph userinput">snDevOpsConfigGetSnapshots</kbd>.
      2. Appelez [l'action JUnit](https://plugins.jenkins.io/junit/) pour charger les résultats de validation de l'instantané dans la section de test d'exécution du pipeline.

      {#devops-config-jenkins-integration__ol_zkz_gyz_mwb}


          stage('Validate') {
              steps {
          	script {
                     changeSetResults = snDevOpsConfigGetSnapshots( ... )
                     if (!changeSetResults) {
                        echo "No snapshots were created"
                     } else {
          	       def changeSetResultsObject = readJSON text: changeSetResults

          	       changeSetResultsObject.each {
                            snapshotName = it.name
                            snapshotObject = it
          	       }
          	       // STEP 1
          		validationResultsPath = "${snapshotName}_${currentBuild.projectName}_${currentBuild.number}.xml"
          	    }
          	}
              }
          }

          post {
              always {
                  // STEP 2
                  junit testResults: "${validationResultsPath}", skipPublishingChecks: true
              }
          }

    {#devops-config-jenkins-integration__ul_v33_4qg_hvb}

## snDevOpsConfigPublish {#devops-config-jenkins-integration__section_mpv_lrf_psb}

Cette action publie un instantané pour l'application et l'élément déployable donnés. À partir de là, l'instantané peut être consommé via le processus d'exportation.

Définitions d'entrées
:

    |-|-|
    | applicationName | Spécifie l'application à partir de laquelle publier les données de configuration. |
    | deployableName | Spécifie l'élément déployable pour l'application à partir de laquelle publier les données de configuration. |
    | snapshotName | Spécifie le nom de l'instantané à publier. |
    [ ]

    {#devops-config-jenkins-integration__table_i4g_xrf_psb}

Sortie
:
    * En cas de réussite, vrai.
    * Sinon, faux.
    {#devops-config-jenkins-integration__ul_m4r_nrg_hvb}

Exemple
:


        snDevOpsConfigPublish(
             applicationName: 'PaymentDemo',
             deployableName: 'Production',
             snapshotName: 'Production-v23.dpl',
        )

## snDevOpsConfigExport {#devops-config-jenkins-integration__section_i3w_ksf_psb}

Cette action exporte un instantané pour l'application et l'élément déployable.

L'utilisateur doit spécifier l'exportateur, les arguments pertinents de l'exportateur, le format d'exportation (par exemple, YAML, JSON...) et l'emplacement de sortie des données de configuration exportées.

À partir de là, les données de configuration peuvent être utilisées directement en tant qu'entrée pour un outil de déploiement ou de provisionnement en aval du pipeline.

Arguments d'entrée
:

    |-|-|
    | applicationName | Spécifie l'application à partir de laquelle exporter les données. |
    | deployableName | Spécifie l'élément déployable de la configuration pour l'application à partir de laquelle exporter des données. |
    | snapshotName | (Facultatif) Spécifie l'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é. |
    | exporterName | Spécifie l'exportateur à appliquer à l'instantané (par exemple, <kbd class="ph userinput">UniqueCDI</kbd>). |
    | exporterArgs | (Facultatif) Spécifie les arguments à utiliser avec l'exportateur. |
    | exportFormat | Spécifie le format d'exportation des données de l'instantané (par exemple, <kbd class="ph userinput">INI</kbd>,<kbd class="ph userinput">YAML</kbd>, <kbd class="ph userinput">PROPS</kbd>). |
    | fileName | Spécifie le fichier vers lequel exporter les données (en supposant qu'il se trouve dans l'espace de travail). Si aucun nom de fichier n'est spécifié, une concaténation du nom de l'application et du nom de l'élément déployable (plus l'extension du fichier) est utilisée par défaut. |
    [ ]

    {#devops-config-jenkins-integration__table_syy_nsf_psb}

Sortie
:
    * En cas de réussite, vrai.
    * Sinon, faux.
    {#devops-config-jenkins-integration__ul_hfv_yrg_hvb}

Exemple
:


        snDevOpsConfigExport(
             applicationName: 'PaymentDemo',
             deployableName: 'Production',
             snapshotName: 'Production-v23.dpl',
             exporterFormat: 'yaml',
             exporterName: 'returnAllData-now',
             exporterArgs: '',
             fileName: 'exported_file-Production-20220302.yml'
        )

## snDevOpsConfigRegisterPipeline {#devops-config-jenkins-integration__section_c3m_vsf_psb}

Cette action lie un ensemble de changements et/ou un instantané au pipeline afin qu'il puisse être suivi pendant l'exécution du pipeline. Dans Vélocité de changement DevOps, cela s'affiche dans l'interface utilisateur du pipeline.

Pour plus d'informations sur la fonctionnalité Accélération des changements DevOps, consultez [Accélérer votre processus de changement DevOps](https://servicenow-prod.fluidtopics.net/8JkP~wzyJ0DNxA1JTMgs8Q "Activez la fonctionnalité d'accélération des changements de Vélocité de changement DevOps pour la création automatique de demandes de changement dans votre pipeline, et utilisez les flux et politiques d'approbation de changement pour automatiser l'approbation sous certaines conditions.").

Arguments d'entrée
:

    |-|-|
    | applicationName | Spécifie le nom de l'application. |
    | changesetNumber | (Facultatif) Spécifie l'ensemble de changements à associer à l'exécution du pipeline. Remarque : Spécifiez changesetNumber ou snapshotName, mais pas les deux. |
    | snapshotName | (Facultatif) Spécifie le nom de l'instantané à associer à l'exécution du pipeline. Remarque : Spécifiez changesetNumber ou snapshotName, mais pas les deux. |
    [ ]

    {#devops-config-jenkins-integration__table_uql_ctf_psb}

Sortie
:
    * En cas de réussite, vrai.
    * Sinon, faux.
    {#devops-config-jenkins-integration__ul_urr_psg_hvb}

Exemple
:
    * Entrée :Voici un exemple de l'action <kbd class="ph userinput">snDevOpsConfigRegisterPipeline</kbd>. À des fins d'illustration, nous allons affecter la réponse à une variable, <kbd class="ph userinput">changeSetRegResult</kbd>, qui pourrait être répercutée dans notre journal de console pour les scénarios de débogage.


          changeSetRegResult = snDevOpsConfigRegisterPipeline(
               applicationName: "PaymentDemo",
               changesetNumber: "Chset-122"
          )

          echo "Pipeline registration result: ${changeSetRegResult}"

    * Sortie :En plus des données chargées dans notre modèle de données dans DevOps Config, la sortie ressemblerait à ceci (en utilisant le module d'extension Blue Ocean pour visualiser la sortie de la console).

    {#devops-config-jenkins-integration__ul_cc2_knl_yxb}

## snDevOpsConfigValidate {#devops-config-jenkins-integration__section_rsc_wdj_psb}

Valider les données de configuration par rapport aux politiques de votre organisation.

Arguments d'entrée
:

    |-|-|
    | applicationName | Application à valider. |
    | deployableName | Élément déployable pour l'application à valider. |
    | snapshotName | (Facultatif) Nom de l'instantané à valider. |
    | markFailed | (Facultatif) Fait échouer le pipeline en cas d'échec de la tentative de validation (en raison d'un problème back-end). |
    | showResults | (Facultatif) Affichez les résultats de validation dans le journal de la console Jenkins. |
    [ ]

    {#devops-config-jenkins-integration__table_e1d_zdj_psb}

Sortie
:
    * En cas de réussite, pas de sortie.
    * En cas d'échec, un message d'échec d'API/back-end s'affiche.
    {#devops-config-jenkins-integration__ul_dcv_1pg_hvb}

Exemple
:
    * Instantané spécifique (spécifié) :  


          snDevOpsConfigValidate(
               applicationName: 'PaymentDemo',
               deployableName: 'Production',
               snapshotName: 'Production-v23.dpl',
          )

    * Dernier instantané (récupère et valide le dernier instantané pour la combinaison d'application et d'élément déployable) :  


          $changeset = snDevOpsConfigValidate(
               applicationName: 'PaymentDemo',
               deployableName: 'Production'
          )

    {#devops-config-jenkins-integration__ul_qgw_kpg_hvb}

## snDevOpsChange {#devops-config-jenkins-integration__section_zk1_w5x_mxb}

Créez une demande de changement et joignez un instantané pour référence.

Pour plus d'informations sur la fonctionnalité Accélération des changements DevOps, consultez [Accélérer votre processus de changement DevOps](https://servicenow-prod.fluidtopics.net/8JkP~wzyJ0DNxA1JTMgs8Q "Activez la fonctionnalité d'accélération des changements de Vélocité de changement DevOps pour la création automatique de demandes de changement dans votre pipeline, et utilisez les flux et politiques d'approbation de changement pour automatiser l'approbation sous certaines conditions.").

Arguments d'entrée
:

    |-|-|
    | applicationName | Spécifie le nom de l'application. |
    | snapshotName | Spécifie le nom de l'instantané à associer à la demande de changement. |
    [ ]

    {#devops-config-jenkins-integration__table_w5k_x5x_mxb}

Exemple
:


        snDevOpsChange(
             applicationName: 'PaymentDemo',
             snapshotName: 'Production-v23.dpl'
        )

## Exemple de pipeline Jenkins {#devops-config-jenkins-integration__section_m1b_gvz_mwb}


    pipeline {
        environment {
            buildArtifactsPath = "build_artifacts/${currentBuild.number}"
            validationResultsPath = ""
        }

        agent any

        stages {
            // Initialize pipeline
            stage('Initialize') {
                steps {
                    script {
                        // DevOps Config application related information
                        appName = 'PaymentDemo'
                        deployableName = 'Production'
                        componentName = "web-api-v1.0"
                        collectionName = "release-1.0"
                        // Configuration file information
                        exportFormat = 'yaml'
                        configFilePath = "k8s/helm/values.yml"
                        // Exporter related information
                        exporterName = 'returnAllData-nowPreview' 
                        exporterArgs = ''
                        // Jenkins variables declared to be used in pipeline
                        exportFileName = "${buildArtifactsPath}/export_file-${appName}-${deployableName}-${currentBuild.number}.${exportFormat}"
                        changeSetId = ""
                        snapshotName = ""
                        snapshotObject = ""
                        isSnapshotValidateionRequired = false
                        isSnapshotPublisingRequired = false
                    }
                }
            }
                
            // Validate configuration data changes
            stage('Validate') {
                parallel {
                    stage('Config') {
                        stages('Config Steps') {
                            // Upload configuration data to DevOps Config
                            stage('Upload, Validate, & Publish') {
                                steps {
                                    sh "echo uploading and auto-validating configuration file: ${configFilePath}"
                                    script {
                                        changeSetResults = snDevOpsConfig(
                                            applicationName: "${appName}",
                                            target: 'component',
                                            namePath: "${componentName}",
                                            configFile: "${configFilePath}",
                                            dataFormat: "${configFileFormat}",
                                            autoCommit: 'true',
                                            autoValidate: 'true',
                                            autoPublish: 'true',
                                            isValidated: 'true',
                                            continueWithLatest: 'true',
                                            markFailed: 'true'
                                        )

                                        echo "Snapshots generated, validated, and published: ${changeSetResults}"

                                        def changeSetResultsObject = readJSON text: changeSetResults

                                        changeSetResultsObject.each {
                                            snapshotName = it.name
                                            snapshotObject = it
                                        }

                                        validationResultsPath = "${snapshotName}_${currentBuild.projectName}_${currentBuild.number}*.xml"
                                    }
                                }
                            }
                            // Export published snapshot to be used by downstream deployment tools
                            stage('Export') {
                                steps {
                                    script {
                                        // create build artifacts dir to store export file
                                        sh "mkdir -p ${buildArtifactsPath}"
                                        
                                        exportResponse = snDevOpsConfigExport(
                                            applicationName: "${appName}",
                                            snapshotName: "${snapshotObject.name}",
                                            deployableName: "${deployableName}",
                                            exporterFormat: "${exportFormat}",
                                            fileName: "${exportFileName}",
                                            exporterName: "${exporterName}",
                                            exporterArgs: "${exporterArgs}"
                                        )
                                    }
                                }
                            }
                        }
                    }
                }
            }
            
            // Create change request and attach snapshot for reference
            stage('Change Management') {
                steps {
                    script {
                        // Trigger change request
                        snDevOpsChange(
                            applicationName: "${appName}",
                            snapshotName: "${snapshotName}"
                        )
                    }     
                }
            }
        }
        // NOTE: attach snapshot validation results to run (if the snapshot fails validation)
        post {
            always {
                // attach policy validation results
                junit testResults: "${validationResultsPath}", skipPublishingChecks: true
            }
        }
    }


