Configurando DevOps detalhes da solicitação de mudança no pipeline

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • Configure como as informações de fechamento, o estado de mudança e os campos de solicitação de mudança são atualizados de dentro de um pipeline na etapa de mudança do pipeline.

    Nota:
    Configurar detalhes da solicitação de mudança em um GitLab o pipeline não é compatível.

    A variável do sistema, por padrão, aponta para o subfluxo padrão para fechar automaticamente uma mudança no sistema de base. . Mudança de fechamento automático do DevOps no subfluxo de conclusão do pipeline ( sn_devops.auto_close_changedetermina como as informações de fechamento, o estado de mudança e os campos de solicitação de mudança são atualizados quando um pipeline é concluído. Se você quiser especificar um subfluxo personalizado que deve ser ativado quando um pipeline for concluído, você poderá clonar esse subfluxo e personalizá-lo de acordo com seus requisitos.

    As informações de fechamento e os atributos de solicitação de mudança estão contidos com changeRequestDetailsobjeto.

    Fechar mudança automaticamente

    Defina autoCloseChangeparâmetro para verdadeiro/falso No objeto changeRequestDetails ao criar uma mudança a partir de um pipeline para atualizar o. Código de fechamento e. Anotações de encerramento e fechar a solicitação de mudança quando um pipeline for concluído. . Data de início real e. Data de término real os valores de campo também são atualizados quando o pipeline é concluído. Os valores de data são baseados na hora de início do pipeline ou na hora de início da primeira fase do pipeline e na hora de término do pipeline ou na hora de término da última fase do pipeline. As anotações de fechamento terão sufixo com texto especificando que as informações de fechamento foram atualizadas com base no recurso de mudança de fechamento automático.

    Se definido como verdadeiro, o Código de fechamento e. Anotações de encerramento os campos serão atualizados e o sistema tentará fechar a solicitação de mudança quando o pipeline for concluído.

    Se definido como falso, o. Código de fechamento e. Anotações de encerramento os campos serão atualizados quando um pipeline for concluído, mas a solicitação de mudança não será fechada.

    Você também pode definir Mudança de fechamento automático Valor do campo de um pipeline na aplicação ServiceNow. Se você selecionar Atualizar somente mudança . Código de fechamento e. Anotações de encerramento os campos serão atualizados quando um pipeline for concluído e se você selecionar Atualizar e fechar mudança , a solicitação de mudança também será encerrada junto com a atualização das informações de fechamento.

    Se a mudança de fechamento automático está especificada no pipeline ou na coluna, o estado final considerado será o seguinte:
    Sinalizador autoCloseChange nos atributos de solicitação de mudança Valor da coluna de mudança de fechamento automático (sn_devops_pipeline) Estado final
    Verdadeiro(a) Atualizar somente mudança Atualiza a mudança e move o estado para Fechar
    Falso(a) Atualizar e fechar mudança Atualiza somente a mudança
    - Atualizar somente mudança Atualiza somente a mudança
    - Atualizar e fechar mudança Atualiza a mudança e move o estado para Fechar
    Nota:
    O valor especificado para o atributo autoCloseChange no pipeline tem precedência sobre o valor especificado na coluna Mudança de fechamento automático em ServiceNow.
    Nota:
    • O recurso de mudança de fechamento automático só é aplicável a pipelines básicos com uma única mudança criada nele. Se houver várias mudanças, a mudança mais recente será considerada para fechamento automático.
    • O recurso de mudança de fechamento automático não é compatível com Jenkins pipelines de estilo livre e solicitações de mudança em que o recurso de recebimento de mudança está habilitado.
    • Para um Azure pipeline de versão, o estado de conclusão do pipeline é derivado consolidando o estado de cada fase no pipeline. Mesmo que uma fase falhe, o pipeline será considerado malsucedido. Mesmo que uma fase seja parcialmente bem-sucedida, o pipeline será considerado bem-sucedido com problemas.

    Informações de upgrade

    Se você estiver atualizando, será preciso reconfigurar sua ferramenta de Orquestração antes de definir o parâmetro autoCloseChange para GitHub e. Azure criar pipelines.

    Definir Código de fechamento

    Defina setCloseCode:parâmetro para verdadeiro/falso com base no comportamento desejado. O valor padrão é verdadeiro.

    Se definido como verdadeiro, o Código de fechamento e. Anotações de encerramento os campos são atualizados conforme especificado nos atributos da etapa de mudança e a solicitação de mudança é movida para pós-implementação quando uma fase é concluída. Você pode substituir esse comportamento habilitando o. Código de fechamento automático recurso. O recurso setCloseCode será desabilitado quando autoCloseChange estiver habilitado e definido como verdadeiro ou falso. Para obter mais informações, consulte Mudança de fechamento automático . Use o recurso autoCloseChange para obter detalhes mais precisos da solicitação de mudança.

    Se definido como falso, quando o trabalho ou pipeline for concluído, a solicitação de mudança não será atualizada e permanecerá no estado Implementar.

    • As informações de fechamento na solicitação de mudança não estão definidas ( Código de fechamento e. Anotações de encerramento os campos são deixados em branco).
    • Um link para a execução da etapa é adicionado ao Anotações de trabalho .

    Campos de solicitação de mudança

    Defina valores de campo de solicitação de mudança no pipeline para o modelo de solicitação de mudança especificado.
    Nota:
    • Se um campo especificado tiver um campo dependente obrigatório, você também deverá definir esse atributo.
    • Se o atributo do campo dependente obrigatório não estiver definido, a solicitação de mudança e a execução da etapa relacionada serão canceladas e as anotações de trabalho serão atualizadas.

    Valores de campo em attributes:os parâmetros são pares de chave-valor. Ou seja, a chave é o nome do campo no modelo e o valor são as informações a serem preenchidas no campo.

    Você pode usar ChangeControl API para especificar campos como type, cmdb_ci, template, assignment_group business_service, standard_change_template, chg_modele criar uma solicitação de mudança.

    Quando os atributos são passados para mudança, a ordem de prioridade é a seguinte:

    1. Campos de solicitação de mudança ou API changeControl.
    2. Valores no registro de Etapa.
    3. Valores fornecidos no modelo de solicitação de mudança.
    Nota:
    Ao configurar solicitações de mudança de dentro do pipeline, os campos de tipo de mudança e modelo são sempre obtidos de uma origem. Você não pode usar uma combinação de atributos da solicitação de API e do formulário de solicitação de mudança.

    Todos os campos na tabela Solicitação de mudança [change_request] são compatíveis, exceto onde especificado.

    Tabela 1. Campos de solicitação de mudança compatíveis
    Campos incompatíveis
    • risco
    • impacto
    • número
    • sys_id
    • risk_impact_analysis
    Campos compatíveis Todos os campos restantes na tabela Solicitação de mudança [change_request].
    Nota:
    O nome do atributo deve corresponder ao nome do campo Solicitação de mudança e o valor especificado deve ser válido.

    Carga JSON de amostra

    {
       "callbackURL":"http://192.168.0.4:3000/jenkins/sn-devops/pipeline_839b7605-b98d-4831-bc87-96829de7da37",
       "orchestrationTaskURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests#deploy/",
       "isMultiBranch":"false",
       "orchestrationTaskName":"java_sample_tests#deploy",
       "orchestrationTaskDetails":{
          "triggerType":"upstream",
          "upstreamTaskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/35/wfapi/describe",
          "taskExecutionURL":"http://192.168.0.4:3000/jenkins/job/java_sample_tests/129/execution/node/50/wfapi/describe"
       },
       "changeRequestDetails":{
          "setCloseCode":false,
          "attributes":{
             "sys_created_by":"1832fbe1d701120035ae23c7ce610369",
             "sys_updated_by":"56826bf03710200044e0bfc8bcbe5dca",
             "requested_by":{
                "name":"Abel Tuter"
             },
             "watch_list":[
                {
                   "name":"Abel Tuter"
                },
                {
                   "name":"Aileen Mottern"
                },
                {
                   "name":"Alejandra Prenatt"
                },
                "56826bf03710200044e0bfc8bcbe5dca"
             ],
             "work_notes_list":[
                "56826bf03710200044e0bfc8bcbe5dca",
                "46c6f9efa9fe198101ddf5eed9adf6e7",
                "d8f57f140b20220050192f15d6673a98"
             ],
             "assigned_to":"1832fbe1d701120035ae23c7ce610369",
             "category":"Service",
             "sys_created_on":"2021-02-09 18:58:41",
             "priority":"2",
          }
       }
    }

    Exemplos de pipeline

    Figura 1. Detalhes da solicitação de mudança - pipeline do Azure
    DevOps Detalhes da mudança do Azure.
    Figura 2. Configurações no nível do trabalho - Jenkins
    JenkinsJobSettings.
    Figura 3. Detalhes da solicitação de mudança - Jenkins
    DevOps Jenkins detalhes da mudança.
    Figura 4. Detalhes da solicitação de mudança - GitHub
    DevOps Detalhes da mudança do GitHub.