---
sourceDocument: Yokohama Gestão de serviços de TI
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/it-service-management

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Yokohama Gestão de serviços de TI

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Azure DevOps tarefas de pipeline

# Azure DevOps tarefas de pipeline {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 13 min. de leitura

Use essas tarefas no Azure DevOpspipeline para interagir com Configuração de DevOpsmodelo de dados.  
Importante:  
A partir da versão Washington DC, o Configuração de DevOps está sendo preparado para descontinuação futura. Ele ficará oculto e não será mais instalado em novas instâncias, mas continuará sendo compatível. Para obter detalhes, consulte o artigo [Deprecation Process (Processo de descontinuação) \[KB0867184\]](https://support.servicenow.com/kb_view.do?sysparm_article=KB0867184) na Base de conhecimento do Now Support.

Essas tarefas são fornecidas para criar uma definição de pipeline específica para atingir seu objetivo.  
* ServiceNow-DevOps-Configuração-Agente-Carregar-ConfiguraçãoCarregue dados de configuração para um implantável no modelo de dados por meio do Trabalho do agente.

* ServiceNow-DevOps-Config-Agent-Get-SnapshotObtenha os snapshots de uma aplicação.

* ServiceNow-DevOps-Config-Agent-Get-Snapshot-NameExtraia o nome de um snapshot.

* ServiceNow-DevOps-Config-Agent-Publicar snapshotPublique um snapshot dos seus dados de configuração.

* ServiceNow-DevOps-Config-Agent-Exportar-SnapshotExporte um subconjunto de seus dados de configuração.

* ServiceNow-DevOps-Configuração-Agente-Registro-PipelineRegistre um changeset e/ou snapshot em uma execução de pipeline.

* ServiceNow-DevOps-Config-Agent-Validate-SnapshotValide os dados de configuração em relação às políticas da organização.

* ServiceNow-DevOps-Servidor-Mudança-AceleraçãoCrie uma solicitação de mudança como parte do pipeline.

{#devops-config-azure-integration__ul_qcb_5cf_psb}

## ServiceNow-DevOps-Configuração-Agente-Carregar-Configuração {#devops-config-azure-integration__section_qjz_nqg_wpb}

Tarefa para carregar um arquivo de configuração em um determinado local em um modelo de dados da aplicação.  
Esta tarefa deve ser usada de natureza iterativa para todos os arquivos de configuração que o usuário escolher carregar no modelo de dados da aplicação durante a execução do pipeline.  
Nota:  
Os arquivos pré-carregados devem estar em um formato compatível.

Variáveis de entrada
:

    |-|-|
    | ConnectedServiceName | Especifica o. DevOpsconexão de endpoint de pipeline. |
    | applicationName | Especifica a aplicação para onde os dados de configuração são carregados. |
    | NomeDeployableName | Especifica o implantável para a aplicação (necessário se o destino for implantável). |
    | UploadTarget | Especifica o destino do modelo de dados para onde os dados de configuração são carregados (por exemplo, <kbd class="ph userinput">componente </kbd>, <kbd class="ph userinput">coleção </kbd>, <kbd class="ph userinput">implantável </kbd>). |
    | CollectionName | (Opcional) Especifica a coleta para onde os dados de configuração serão carregados (obrigatório se o destino for coleta). |
    | namePath | Especifica o caminho do modelo de dados para onde os dados de configuração são carregados. Nota: Ao carregar para uma pasta vars, você deve iniciar o caminho do nome com "vars/" para especificar o caminho da pasta variável. |
    | ConfigFilePath | Especifica a pasta de origem da qual os dados de configuração são carregados no componente ou no caminho implantável no modelo de dados. Vazio é a raiz do repositório. Use variáveis se os arquivos não estiverem no repositório (por exemplo, <kbd class="ph userinput">(agent.builddirectory) </kbd>). |
    | ConvertPath | (Opcional) Especifica se a estrutura de diretórios dos arquivos de configuração deve ser preservada (em relação ao espaço) e converter o diretório em caminhos no modelo de dados. O padrão é falso. |
    | DataFormat | Especifica o formato de dados do config_file (por exemplo, <kbd class="ph userinput">JSON </kbd>, <kbd class="ph userinput">AML </kbd>, <kbd class="ph userinput">XML </kbd>, etc.). |
    | changesetNumber | (Opcional) Especifica o changeset (aberto) ao qual esta atividade de carregamento está associada. Se não for fornecido, um novo changeset será criado. Nota: Usado somente para vários cenários de upload. |
    | autocommit | Especifica se os dados de configuração devem ser confirmados após o carregamento (verdadeiro/falso). O padrão é falso. |
    | AutoValidar | Especifica se os dados de configuração devem ser validados durante a confirmação (verdadeiro/falso). O padrão é verdadeiro. |
    [ ]

    {#devops-config-azure-integration__table_hpv_5x2_psb}

Variável de saída
:

    |-|-|
    | changesetNumber | Registro do changeset criado/confirmado durante o carregamento. Forneça um nome para a tarefa para que ela possa ser usada posteriormente no pipeline (por exemplo, <kbd class="ph userinput">ComponentUpload </kbd>). |
    [ ]

    {#devops-config-azure-integration__table_qjq_rbb_w5b}

Exemplo - Carregar configuração
:


        -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​
         
Exemplo: Vários carregamentos (componente)
:   Você pode chamar a tarefa de upload mais de uma vez para carregar dados de configuração em diferentes formatos de arquivo de locais diferentes, mantendo os carregamentos como parte de um changeset.

    * No primeiro carregamento, nomeie a tarefa para que a variável de saída changesetNumber possa ser reutilizada nos carregamentos subsequentes.  
      Carregamento de arquivo YAML:


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

    * Em carregamentos subsequentes, referencie a variável de saída changesetNumber do primeiro carregamento como uma variável de entrada.  
      Carregamento de arquivo JSON:


          -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)'

    {#devops-config-azure-integration__ul_qvy_52b_w5b}

Exemplo: Vários uploads (coleção e variáveis)
:   Você pode chamar a tarefa de upload mais de uma vez para carregar dados de configuração em diferentes formatos de arquivo de locais diferentes, mantendo os carregamentos como parte de um changeset.

    * No primeiro carregamento, certifique-se de nomear a tarefa para que a variável de saída changesetNumber possa ser reutilizada nos carregamentos subsequentes.  
      Carregamento de arquivo XML:


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

    * Em carregamentos subsequentes, referencie a variável de saída changesetNumber do primeiro carregamento como uma entrada.  
      Carregamento de arquivo JSON:


          -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)'

    {#devops-config-azure-integration__ul_zvz_b5m_dwb}

    Nota:  
    Para carregar em uma pasta de variáveis, uploadTarget deve ser definido como <kbd class="ph userinput">implantável </kbd>E os valores corretos devem ser definidos para deployableName e changesetNumber.

## ServiceNow-DevOps-Config-Agent-Get-Snapshot {#devops-config-azure-integration__section_nkh_4y2_psb}

Esta tarefa deve ser usada em diferentes cenários:

* Recupere um snapshot específico.Após o fluxo do CD, um snapshot específico é recuperado para que possa ser publicado e exportado para ser consumido downstream (por exemplo, para provisionar infraestrutura ou aplicação).

* Recupere o snapshot validado mais recente.O snapshot validado mais recente é recuperado para a combinação implantável da aplicação fornecida.

* Recupere todos os snapshots de todos os implantáveis afetados.Quando os arquivos de configuração são carregados em um modelo de dados da aplicação, o sistema criará snapshots para todos os implantáveis determinados como afetados pelo carregamento. Ao acompanhar o fluxo de IC, supondo que a última chamada de carregamento tenha a validação habilitada, a próxima etapa seria iterar pela lista de snapshots e garantir que todos tenham sido aprovados na validação.

* Recupere os snapshots mais recentes para um implantável de uma aplicação caso um carregamento não gere snapshots.Um conjunto de dados de configuração está disponível para implantação em um ambiente para uma combinação application-implantable-changeset quando nenhuma mudança de configuração é feita.

* Mostrar resultados de validação de política em uma execução de pipeline.Exiba os resultados da validação de política como resultados de testes na página Resultados de testes de compilação do ADO, incluindo conformidade com exceção, ao obter um snapshot.

{#devops-config-azure-integration__ul_lgc_ry2_psb}

Variáveis de entrada
:

    |-|-|
    | ConnectedServiceName | Especifica o. DevOpsconexão de endpoint de pipeline (definida nas configurações de conexão de serviço do projeto). |
    | applicationName | Especifica a aplicação para a qual carregar dados de configuração ou exportar dados. |
    | NomeDeployableName | (Opcional) Especifica o implantável (de acordo com a aplicação especificada) no qual os dados de snapshot mais recentes serão obtidos. |
    | changesetNumber | (Opcional) Especifica o ID do changeset para o conjunto aplicável de mudanças de configuração. |
    | IsValidado | (Opcional) Especifica se devem retornar somente snapshots aprovados ou passados com exceção (verdadeiro/falso). O padrão é verdadeiro. |
    | ContinuoWithLatest | (Opcional) Especifica se o snapshot mais recente deve ser retornado de acordo com <kbd class="ph userinput">ApplicationName </kbd>- <kbd class="ph userinput">NomeDeployableName </kbd>- <kbd class="ph userinput">ChangesetNumber </kbd>combinação se nenhum snapshot for gerado (verdadeiro/falso). O padrão é falso. |
    [ ]

    {#devops-config-azure-integration__table_dmc_nz2_psb}

Variável de saída
:

    |-|-|
    | SnapshotObject | Um objeto JSON que contém os snapshots solicitados. Forneça um nome para a tarefa para que ela possa ser usada posteriormente no pipeline (por exemplo, <kbd class="ph userinput">GetSnapshot </kbd>). |
    [ ]

    {#devops-config-azure-integration__table_gb4_yfb_w5b}

Exemplo - Snapshot específico
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production'
           changesetNumber: 'Chset-16'
           isValidated: true
           continueWithLatest: true

Exemplo: Snapshots validados mais recentes (para uma determinada combinação implantável de aplicação)
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production'
           isValidated: true

Exemplo - Todos os snapshots do changeset
:


        -task: ServiceNow-DevOps-Config-Agent-Get-Snapshot
         name: getSnapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           changesetNumber: 'Chset-16'

Exemplo - Mostrar resultados de validação de política

:   Atribua uma variável ao caminho do arquivo que contém os resultados de validação de snapshot gerados durante <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot </kbd>tarefa.

    Para carregar os resultados de validação de snapshot na execução do pipeline, você precisa aproveitar o ADO nativo [Tarefa Publicar resultados de testes v2](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-test-results-v2?view=azure-pipelines&tabs=trx,trxattachments,yaml), usando a variável como uma entrada.  


        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 {#devops-config-azure-integration__section_ic5_11f_psb}

Esta tarefa é usada como acompanhamento do <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name </kbd>tarefa para obter o nome do snapshot de um snapshot específico. A partir daqui, o nome do snapshot pode ser usado como uma entrada para uma tarefa descendente, como publicar o snapshot.

Variáveis de entrada
:

    |-|-|
    | NomeDeployableName | Especifica o implantável para obter o objeto de snapshot retornado do <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot </kbd>tarefa. |
    | script | Especifica o script para extrair o nome do snapshot do objeto de snapshot. |
    [ ]

    {#devops-config-azure-integration__table_ctq_f1f_psb}

Variável de saída
:

    |-|-|
    | nomeSnapshot | O nome do snapshot do implantável. Forneça um nome para a tarefa para que ela possa ser usada posteriormente no pipeline (por exemplo, <kbd class="ph userinput">Nome do SnapshotName) </kbd>. |
    [ ]

    {#devops-config-azure-integration__table_u4n_hgb_w5b}

Exemplo - Obter nome do snapshot

:   Use este script para extrair o nome do snapshot recuperado do <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot </kbd>tarefa.


        -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();

Exemplo - Obter nome do snapshot usado com Obter snapshot

:   Ligue para <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot-Name </kbd>tarefa logo após o. <kbd class="ph userinput">ServiceNow-DevOps-Config-Agent-Get-Snapshot </kbd>tarefa para retornar o nome do snapshot.

    Obter snapshots (retorna um objeto JSON que contém snapshots afetados):


        -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'​

    Obter nome do snapshot (retorna o nome do snapshot para um implantável específico):


        -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();

    Use o nome do snapshot retornado no pipeline (por exemplo, publicar):


        -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-Publicar snapshot {#devops-config-azure-integration__section_fjq_k1f_psb}

Esta tarefa publica um snapshot para a aplicação fornecida e implantável. A partir daqui, o snapshot pode ser consumido por meio do processo de exportação.

Variáveis de entrada
:

    |-|-|
    | ConnectedServiceName | Especifica o. ServiceNowconexão de endpoint. |
    | applicationName | Especifica a aplicação a ser publicada. |
    | NomeDeployableName | Especifica o implantável para a aplicação publicar dados de configuração. |
    | nomeSnapshot | Especifica o nome do snapshot a ser publicado. |
    [ ]

    {#devops-config-azure-integration__table_vd4_41f_psb}

Variável de saída
:   Não aplicável (retorna verdadeiro se bem-sucedido, caso contrário, falso).

Exemplo
:


        -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           snapshotName: 'Production-v23.dpl'

## ServiceNow-DevOps-Config-Agent-Exportar-Snapshot {#devops-config-azure-integration__section_bn2_x1f_psb}

Esta tarefa exporta um snapshot para a aplicação fornecida e implantável. Especifique o exportador, os argumentos relevantes do exportador, o formato de exportação (por exemplo, YAML, JSON etc.) e o local de saída dos dados de configuração exportados. A partir daqui, os dados de configuração podem ser usados diretamente como uma entrada para uma ferramenta de implantação ou provisionamento downstream no pipeline.

Variáveis de entrada
:

    |-|-|
    | ConnectedServiceName | Especifica o. ServiceNowconexão de endpoint. |
    | applicationName | Especifica a aplicação da qual publicar. |
    | NomeDeployableName | Especifica o implantável da aplicação da qual exportar os dados de configuração. |
    | nomeSnapshot | Especifica o nome do snapshot do qual exportar os dados de configuração. |
    | Nome da exportação | Especifica o exportador a ser aplicado ao snapshot (por exemplo, <kbd class="ph userinput">UniqueCDIs </kbd>). |
    | args | (Opcional) Especifica argumentos a serem usados junto com o exportador. |
    | Formato de exportação | Especifica o formato para exportar os dados do snapshot (por exemplo, <kbd class="ph userinput">INI </kbd>, <kbd class="ph userinput">AML </kbd>, <kbd class="ph userinput">PROPS </kbd>). |
    | Arquivo salvo | Verifica se o arquivo deve ser salvo em um repositório do Azure (verdadeiro/falso). O padrão é falso. Nota: A permissão apropriada/acesso ao token OAuth ao script é necessário. Caso contrário, o arquivo de exportação será criado no diretório do espaço do pipeline. |
    [ ]

    {#devops-config-azure-integration__table_mtx_bbf_psb}

Variável de saída
:   Não aplicável (retorna verdadeiro se bem-sucedido, caso contrário, falso).

Exemplo
:


        -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-Configuração-Agente-Registro-Pipeline {#devops-config-azure-integration__section_jms_kcf_psb}

Esta tarefa vincula um changeset e um snapshot ao pipeline para que ele possa ser rastreado durante a execução do pipeline. Em Velocidade de mudança para DevOps, Isso é mostrado na IU do pipeline.

Variáveis de entrada
:

    |-|-|
    | ConnectedServiceName | Especifica o. DevOpsconexão de endpoint de pipeline. |
    | applicationName | Especifica o nome da aplicação. |
    | changesetNumber | (Opcional) Especifica o ID do changeset a ser associado à execução do pipeline. |
    | nomeSnapshot | (Opcional) Especifica o nome do snapshot a ser associado à execução do pipeline. |
    [ ]

    {#devops-config-azure-integration__table_nym_4cf_psb}

Variável de saída
:   Não aplicável (retorna verdadeiro se bem-sucedido, caso contrário, falso).

Exemplo
:


        -task: ServiceNow-DevOps-Config-Agent-Publish-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           changesetNumber: 'Changeset-143'

## ServiceNow-DevOps-Config-Agent-Validate-Snapshot {#devops-config-azure-integration__section_a3d_t3b_ypb}

Valide os dados de configuração em relação às políticas da sua organização.

Variáveis de entrada
:

    |-|-|
    | ConnectedServiceName | Especifica o. ServiceNowconexão de endpoint. |
    | applicationName | Especifica a aplicação a ser validada. |
    | NomeDeployableName | Especifica o implantável (de acordo com a aplicação especificada) a ser validado. |
    | nomeSnapshot | (Opcional) Especifica o nome do snapshot a ser validado. |
    | MostrarResultados | (Opcional) Especifica para mostrar os resultados de validação no log do console. |
    [ ]

    {#devops-config-azure-integration__table_hk2_nkf_psb}

Variável de saída
:   Não aplicável (retorna verdadeiro se bem-sucedido, caso contrário, falso).

Exemplo
:


        -task: ServiceNow-DevOps-Config-Agent-Validate-Snapshot
         inputs:
           connectedServiceName: 'MyServiceNowInstance'
           applicationName: 'PaymentDemo'
           deployableName: 'Production-2'
           snapshotName: ''
           showResults: false

## ServiceNow-DevOps-Servidor-Mudança-Aceleração {#devops-config-azure-integration__section_tcn_vqf_w5b}

Esta tarefa é necessária para que trabalhos sem agente (servidor) criem automaticamente uma solicitação de mudança em ServiceNow Gestão de mudançascomo parte do Azure DevOpspipeline.

Em Configuração de DevOps, para associar vários snapshots do mesmo changeset a uma solicitação de mudança, use o nome do snapshot e o nome da aplicação para rastrear dados de configuração específicos de um determinado serviço de aplicação.

Consulte [Acelerando seu DevOpsprocesso de mudança](https://servicenow-prod.fluidtopics.net/pDxddhrask_Q0Lavn_gd4A "Habilite o recurso de aceleração de mudança de Velocidade de mudança para DevOpspara a criação automática de solicitações de mudança no pipeline e use fluxos e políticas de aprovação de mudança para automatizar a aprovação sob determinadas condições.")para obter mais informações sobre DevOpsRecurso de aceleração de mudança.

Variáveis de entrada (relacionadas a Configuração de DevOps)
:

    |-|-|
    | ConnectedServiceName | Especifica o. DevOpsconexão de endpoint de pipeline. |
    | applicationName | Aplicação associada ao snapshot que está sendo anexado à solicitação de mudança. |
    | nomeSnapshot | Nome do snapshot a ser anexado à solicitação de mudança. |
    [ ]

    {#devops-config-azure-integration__table_tsl_wsf_w5b}

Exemplo
:


        -stage: ChangeRequest
         jobs:
            -job: 'changerequestjob'
             pool: server
             steps:
                -task: ServiceNow-DevOps-Server-Change-Acceleration
                 inputs:
                    connectedServiceName: 'MyServiceNowInstance'
                    applicationName: 'PaymentDemo'
                    snapshotName: 'Production-v23.dpl'

## Exemplo de pipeline de YAML {#devops-config-azure-integration__section_h2d_xkq_mwb}

    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)


