Acelerando seu DevOps processo de mudança
Habilite o recurso de aceleração de mudança de Velocidade de mudança para DevOps para a criação automática de solicitação 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.
Você pode exibir detalhes das solicitações de mudança ativas navegando até .
Processo de controle de mudanças
Quando o controle de mudanças está habilitado para um trabalho no pipeline de desenvolvimento DevOps, uma solicitação de mudança é criada automaticamente e definida para o estado Avaliar para solicitar aprovação para a execução da fase ou trabalho atual se um grupo de atribuição for adicionado à solicitação de mudança. As solicitações de mudança podem ser aprovadas automaticamente configurando condições em uma política de aprovação de mudança.
As etapas do pipeline podem ser configuradas para habilitar recibos de mudança, que não pausam o pipeline. As solicitações de mudança criadas com recibos de mudança habilitados incluem todos os dados do pipeline, mas não exigem aprovação para prosseguir no pipeline e a solicitação de mudança estará nos estados pós-implementação. Para solicitações de mudança criadas sem habilitar o recibo de mudança, o pipeline será pausado até que a solicitação de mudança seja aprovada e, após a aprovação, o pipeline será retomado.
Se você quiser parar a transição automática dos estados da solicitação de mudança mesmo quando o recebimento de mudança estiver ativado, você deverá desabilitar a propriedade sn_devops.enable_change_receipt_state_transition. Para obter mais informações, consulte Propriedades Velocidade de mudança para DevOps.
Depois de aprovadas, automaticamente ou manualmente, as solicitações de mudança são movidas para o estado Implementar e o trabalho é executado. Depois que o trabalho é executado, a solicitação de mudança é movida para o estado encerrado com o Código de fechamento bem-sucedido em uma execução de trabalho bem-sucedida ou Mal-sucedido em caso de erro na execução de trabalho. Para obter informações sobre como personalizar seus estados de solicitação de mudança, consulte Processo de solicitação de mudança personalizada.
Se uma solicitação de mudança não for aprovada e movida para o estado cancelado ou encerrado, o trabalho Jenkins, GitHub ou ADO associado será marcado como falha e uma mensagem do console será mostrada:
Para Jenkins: [ServiceNow DevOps] o trabalho não foi aprovado para execução
Para GitHub: Erro: **** A mudança foi criada, mas foi rejeitada ou cancelada
Para ADO: "changeState": "Closed"
Aprovação automática de solicitações de mudança usando fluxos e políticas
Você pode automatizar o processo de aprovação de mudanças para todas as suas solicitações de mudança do DevOps. A Velocidade de mudança para DevOps usa fluxos e dados de DevOps (como itens de trabalho, confirmações, cobertura de código, segurança de código, risco e resultados de testes) para atualizar o estado de uma solicitação de mudança e aprová-la automaticamente com base nas políticas de aprovação de mudança. Três fluxos estão disponíveis no sistema de base que você pode clonar, personalizar e ativar (no Flow Designer). Por padrão, o fluxo de aprovação manual de solicitação de mudança do DevOps está ativado. Os fluxos do DevOps são aplicáveis somente a solicitações de mudança criadas automaticamente ou solicitações de mudança que tenham o recebimento de mudança desativado.
Fluxos
Um fluxo é um processo automatizado que consiste em um gatilho (que especifica quando executar o fluxo) e uma sequência de ações reutilizáveis (em que as ações executam uma sequência de operações em seus dados). Os fluxos são criados no Flow Designer, um recurso da Now Platform que permite a automação de processos. Para obter mais informações, consulte Flow Designer.
Você pode usar um dos fluxos de DevOps disponíveis no sistema de base como modelo; clone o fluxo e personalize-o de acordo com seus requisitos de negócio. Certifique-se de que apenas um fluxo de DevOps esteja no estado ativo a qualquer momento para evitar conflitos e erros. Um fluxo de DevOps é aplicável a solicitações de mudança que têm a categoria DevOps ou se a propriedade devops_change estiver definida como verdadeira. (Uma solicitação de mudança do DevOps criada automaticamente define a categoria como DevOps por padrão).
- Se a solicitação de mudança do DevOps for aprovada, o fluxo atualizará o estado de execução da etapa para aprovado e o estado da solicitação de mudança será atualizado para implementação. Depois disso, o pipeline será retomado.
- Se a solicitação de mudança do DevOps for rejeitada, o fluxo atualizará o estado de execução da etapa para rejeitado e o estado da solicitação de mudança será atualizado para novo. Depois disso, o pipeline será encerrado.
- Se a solicitação de mudança do DevOps for cancelada, o fluxo atualizará o estado de execução da etapa para cancelado pelo usuário e a solicitação de mudança será atualizada para cancelada. Depois disso, o pipeline será cancelado.
Se uma regra de negócio ou política de dados causar um erro ao atualizar uma mudança no fluxo de aprovação manual de solicitação de mudança do DevOps, no fluxo de aprovação da automação mínima da solicitação de mudança do DevOps ou no fluxo de aprovação da automação avançada da solicitação de mudança do DevOps, o erro correspondente será exibido nas anotações de trabalho do a solicitação de mudança e conectado nos logs do console da ferramenta de pipeline.
| Fluxo de DevOps | Comportamento padrão |
|---|---|
| Fluxo de aprovação manual de solicitação de mudança de DevOps | Este fluxo é ativado por padrão. Com este fluxo, as solicitações de mudança do DevOps devem passar por um processo de aprovação manual, em que o fluxo aguarda a solicitação de mudança atingir um estado qualificado (rejeitado, implementado ou estado de implementação específico). Quando atingido, este fluxo atualizará o estado da execução da etapa com base no estado da solicitação de mudança. Se a solicitação de mudança for baseada em tipo, o fluxo aguardará que a mudança seja rejeitada, implementada ou cancelada. Se a solicitação de mudança for baseada em modelo, o fluxo aguardará que a mudança seja rejeitada, cancelada ou atinja um dos estados de implementação definidos no modelo ou o estado de implementação especificado na propriedade do DevOps. Este fluxo não será acionado para solicitações de mudança do DevOps cujo modelo seja um modelo de mudança do DevOps do sistema base (DevOps ou DevOps simplificado) para evitar conflitos e erros. Você pode clonar este fluxo e personalizá-lo para fazer mudanças. Certifique-se de que os outros fluxos do DevOps estejam desativados. |
| Fluxo de aprovação da automação mínima da solicitação de mudança de DevOps | Este fluxo reúne dados de DevOps e executa a Política de automação mínima de solicitação de mudança de DevOps, que determina se a mudança deve ser rejeitada automaticamente, aprovada automaticamente ou enviada para aprovação manual. Este fluxo é acionado para solicitações de mudança do DevOps cujo tipo ou modelo está definido como normal. Ative este fluxo se quiser automatizar as aprovações de solicitação de mudança, mas comece minimamente. Você pode clonar este fluxo e personalizá-lo para fazer mudanças. Certifique-se de que os outros fluxos do DevOps estejam desativados. Você também pode adicionar a ação DevOps - Atualizar motivo da decisão da política de automação mínima a este fluxo para atualizar as decisões de política para o comentário de mudança de execução da etapa e as anotações de trabalho da solicitação de mudança para saber os motivos da decisão. Você pode adicionar esta ação dentro de cada bloco de decisão e especificar a entrada necessária. |
| Fluxo de aprovação da automação avançada de solicitação de mudança de DevOps | Este fluxo reúne dados de DevOps e executa a Política de automação avançada de solicitação de mudança de DevOps, que determina se a mudança deve ser rejeitada automaticamente, aprovada automaticamente ou enviada para aprovação manual. Este fluxo é acionado para solicitações de mudança do DevOps cujo tipo ou modelo está definido como normal. Se a solicitação de mudança do DevOps for aprovada, o fluxo atualizará a solicitação de mudança para o estado programado e a data de início planejada será usada para definir a data de início da solicitação de mudança. Na data de início da solicitação de mudança, o fluxo atualizará o estado da solicitação de mudança para implementação. Depois disso, o pipeline será retomado. Ative este fluxo se quiser automatizar as aprovações de solicitação de mudança com uma política de mudança robusta. Você pode clonar este fluxo e personalizá-lo para fazer mudanças. Certifique-se de que os outros fluxos do DevOps estejam desativados. |
| Fluxo de automação de mudança de demonstração de DevOps | Quando os dados de demonstração estão instalados, o fluxo de Automação de mudança de demonstração de DevOps está disponível onde o tipo normal de solicitação de mudança ou solicitação de mudança de modelo normal pode ser aprovado automaticamente com base nas políticas de decisão. Como parte dos dados de demonstração, as políticas de decisão disponíveis são:
|
Para ler as diretrizes sobre como usar fluxos, subfluxos e ações com mais eficiência, consulte General guidelines for Workflow Studio flows, subflows, and actions.
Políticas de aprovação de mudança
- Entrada de política: origens de variáveis avaliadas em uma condição.
- Decisões: determina se a definição de aprovação de mudança deve ser aplicada com base nas condições.
- Definições de aprovação: define o tipo de aprovação que pode ser aplicado.
- Política de mudança do modelo de DevOps
- Política de automação mínima de solicitação de mudança de DevOps
- Política de automação avançada de solicitação de mudança de DevOps
Para obter mais informações sobre políticas de aprovação de mudanças, consulte Políticas de aprovação de mudança.
Os fluxos de aprovação automatizada de DevOps usam políticas de aprovação de mudança e dados de DevOps (como itens de trabalho, confirmações, solicitações de extração, resumos de teste, resumos de segurança e resumos de qualidade) para atualizar automaticamente o estado do registro de mudança e o estado de execução da etapa para aprovado, rejeitado ou cancelado. Você pode exibir e editar essas políticas com base em seus requisitos de negócio ou criar suas próprias na tabela de decisão. Consulte as tabelas de decisão a seguir.
A política de automação mínima de solicitação de mudança de DevOps tem as seguintes condições e critérios por padrão:
A Política de automação avançada de solicitação de mudança de DevOps tem as seguintes condições e critérios por padrão:
- Aprovação automática: se as condições especificadas na política forem atendidas, a solicitação de mudança será aprovada automaticamente.
- Rejeição automática: se uma ou mais condições especificadas na política não forem atendidas, a solicitação de mudança será rejeitada automaticamente.
- Aprovação manual: se uma ou mais condições precisarem de aprovação manual por um usuário ou grupo, isso será especificado na política. As notificações são enviadas pela política aos usuários ou grupos relevantes para agilizar a aprovação manual e o andamento da solicitação de mudança.
Você pode aplicar sua política de aprovação de mudanças na ação do Gestão de mudanças Workflow Studio para controlar o processo de aprovação de uma solicitação de mudança. Para obter mais informações, consulte Use a ação de fluxo Aplicar Política de Aprovação de Mudança.
Anotações de trabalho de aprovação de mudança
Quando uma solicitação de mudança é atualizada com base em um fluxo e na política de aprovação de mudanças, as anotações de trabalho associadas à solicitação de mudança são atualizadas para uma das seguintes mensagens codificadas:
- Política de Aprovação de Mudança não encontrada. A solicitação de mudança foi rejeitada (%s).
- %s está inativo. A solicitação de mudança foi rejeitada (%s).
- Nenhuma decisão correspondida. %s foi ignorado (%s).
- Nenhuma aprovação foi gerada a partir de decisões correspondentes. %s foi ignorado (%s).
- A solicitação de mudança foi rejeitada por %s (%s).
- A solicitação de mudança foi aprovada por %s (%s).
if (APPROVED.equals(state))
38 message = String.format(APPROVED_MSG, policyName, actionLabel);Subfluxo do manipulador de mudança padrão
- Solicitado por
- Justificativa
- Plano de implementação
- Plano de reversão
- Plano de testes
- Descrição Resumida
- Descrição
- Data de início
- Data de término
- Análise de impacto de risco
O subfluxo do Manipulador de Mudança Padrão substitui os valores de campo que foram preenchidos usando um modelo ao criar o registro de solicitação de mudança.
Se desejar, você pode gravar um subfluxo personalizado no lugar deste fluxo modificando o [sn_devops.change_request_handler_subflow] DevOps propriedade.
Modelos de solicitação de mudança personalizados
O tipo de solicitação de mudança corresponde à tabela de solicitação de mudança no escopo global.
Listas relacionadas à solicitação de mudança automática
- Confirmações
- Confirmações associadas à solicitação de mudança.
- Itens de trabalho
- Itens de trabalho associados à solicitação de mudança.
- Versões do Artefato
Lista de versões de artefatos associadas ao pacote vinculado à execução do pipeline para pacotes criados antes da aprovação da solicitação de mudança.
Se nenhum pacote estiver vinculado à execução do pipeline, a lista estará vazia.
- Resumos de testes (substitui a lista relacionada de resultados de testes)
Lista de resumos de teste para uma execução de pipeline associada a um artefato, pacote ou execução de tarefa antes da solicitação de mudança.
Consulte Resultados de testes para obter mais detalhes.
Processo de solicitação de mudança personalizada
Essas propriedades de mudança do DevOps estão disponíveis para personalizar seu fluxo de solicitação de mudança.
- Estado de implementação da solicitação de mudança do DevOps
- Estado de pós-implementação da solicitação de mudança do DevOps
- Estado de cancelamento da solicitação de mudança do DevOps
- Texto de aprovação da solicitação de mudança do DevOps
Para personalizar seu fluxo de solicitação de mudança, você deve primeiro criar um . Por exemplo, DevOps_Implement (valor - 10).
Em seguida, adicione a lista de seleção a .
Depois de criar a lista de seleção e adicioná-la à inclusão de script, você poderá atualizar as propriedades de mudança do DevOps com os novos valores da lista de seleção. Por exemplo, DevOps change request implement state -10.
Condição de risco do DevOps
Você pode usar o cálculo de risco e impacto DevOps com base na pontuação de risco do confirmador.
Esta condição está inativa por padrão.
Lista relacionada de Resultados de testes
Lista os testes que foram executados em um pipeline depois que um pacote foi criado. Se nenhum pacote tiver sido criado, a lista incluirá os testes que foram executados depois que uma versão de artefato foi criada.
Cenários:
- Um pacote é criado no pipeline, mas nenhuma versão de artefato é registrada.
- Se a solicitação de mudança for criada na fase de criação de pacote:
Nenhum resultado de teste é exibido porque um pacote ainda não está vinculado à execução do pipeline.
- Se a solicitação de mudança for criada em uma fase após a fase de criação do pacote:
Os resumos de teste de compilação incluem aqueles associados a fases após a fase de criação do pacote, até a fase controlada por mudança.
- Se a solicitação de mudança for criada na fase de criação de pacote:
- As versões do artefato são registradas, mas nenhum pacote é criado.
- Se a solicitação de mudança for criada na fase de versão do artefato:
Nenhum resultado de teste será exibido porque nenhum teste será associado até que a execução da tarefa seja concluída.
- Se a solicitação de mudança for criada em uma fase após a fase da versão do artefato:
Os resumos de teste de compilação incluem aqueles na fase de versão do artefato, bem como as fases posteriores, até a fase controlada por mudança.
- Se a solicitação de mudança for criada na fase de versão do artefato:
- As versões do artefato e o pacote são criados no pipeline.
- Se a solicitação de mudança fizer parte da fase após as fases de versão do artefato e criação de pacote:
Os resumos de teste de compilação incluem aqueles associados à fase de criação do pacote, bem como as fases posteriores, até a fase controlada por mudança.
- Se a solicitação de mudança fizer parte da fase de criação de pacote e as versões do artefato forem criadas como parte de uma fase anterior;
- ou a solicitação de mudança é criada em uma fase (não na criação de pacote) após a fase de versão do artefato, mas antes da fase de criação de pacote;
- ou a solicitação de mudança faz parte da fase de criação de pacote e as versões do artefato são criadas como parte de uma fase anterior:
Os resumos de teste de compilação incluem aqueles associados à fase da versão do artefato, bem como as fases posteriores, até a fase controlada por mudança.
- Se a solicitação de mudança fizer parte da fase após as fases de versão do artefato e criação de pacote:
Exibição de execuções de pipeline
Você pode exibir a atividade do pipeline navegando até .