Integre com o gerenciamento de alterações do ServiceNow

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Os Pipelines do Azure suportam a integração com o ServiceNow para melhorar a colaboração entre as equipas de desenvolvimento e de TI. Ao incluir o gerenciamento de alterações nos pipelines de versão, as equipes podem reduzir os riscos associados às alterações e seguir metodologias de gerenciamento de serviços, como ITIL, aproveitando ao máximo os Pipelines do Azure.

Neste artigo, vai aprender a:

  • Configure instâncias ServiceNow.
  • Inclua o processo de gerenciamento de alterações do ServiceNow como uma porta de liberação.
  • Monitore o processo de gerenciamento de alterações a partir de pipelines de lançamento.
  • Mantenha as solicitações de alteração do ServiceNow atualizadas com os resultados da implantação.

Pré-requisitos

Configurar a instância ServiceNow

  1. Instale a extensão Azure Pipelines em sua instância ServiceNow. Você precisará das credenciais Hi para concluir a instalação. Consulte Visão geral da compra para obter mais detalhes sobre a instalação de aplicativos da loja ServiceNow.

  2. Crie um novo usuário no ServiceNow e conceda-lhe a seguinte função: x_mioms_azpipeline.pipelinesExecution.

    Uma captura de tela mostrando como configurar um novo usuário no ServiceNow.

Configurar a organização do Azure DevOps

  1. Instale a extensão ServiceNow Change Management em sua organização do Azure DevOps.

    Uma captura de tela mostrando a extensão ServiceNow Change Management.

  2. Crie uma nova conexão de serviço ServiceNow em seu projeto de DevOps do Azure da seguinte maneira. Como alternativa, você também pode usar a autenticação OAuth2.

    Uma captura de tela mostrando como configurar a conexão do serviço ServiceNow.

Configurar o pipeline de liberação

  1. Navegue até o pipeline de liberação e selecione o ícone Condições de pré-implantação . Selecione Gates e o portão de pré-implantação do ServiceNow Change Management .

    Uma captura de tela mostrando como adicionar um portão de pré-implantação.

  2. Selecione a conexão de serviço que você criou anteriormente e preencha os campos obrigatórios da seguinte maneira:

    Uma captura de tela mostrando como configurar o portão ServiceNow Change Management.

    • Conexão ServiceNow: Conexão com a instância ServiceNow usada para gerenciamento de alterações.
    • Breve descrição: um resumo da alteração.
    • Descrição: descrição pormenorizada da alteração.
    • Categoria: A categoria da alteração. Exemplo: Hardware, Rede, Software.
    • Prioridade: Prioridade da mudança.
    • Risco: O nível de risco para a mudança.
    • Impacto: o efeito que a mudança tem nos negócios.
    • Item de configuração: Item de configuração (CI) ao qual a alteração se aplica.
    • Grupo de atribuições: o grupo ao qual a alteração é atribuída.
    • Cronograma de solicitação de alteração: Cronograma da alteração conforme honrado pelo fluxo de trabalho ServiceNow. A data e a hora devem estar em UTC e o formato deve ser aaaa-MM-ddTHH:mm:ssZ. Exemplo: 2018-01-31T07:56:59Z.
    • Parâmetros adicionais de solicitação de alteração: O nome deve ser o nome do campo (não o rótulo) precedido de 'u_'. Exemplo: u_backout_plan. Value deve ser um valor válido em ServiceNow. As entradas inválidas são ignoradas.
    • Estado desejado da solicitação de alteração: o gate seria bem-sucedido e o pipeline continuaria quando o status da solicitação de alteração for o mesmo que o valor fornecido.
    • Avançado: especifica uma expressão que controla quando esse portão deve ter êxito. A solicitação de alteração é definida como root['result'] na resposta do ServiceNow. Exemplo - "and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low'))". Consulte Expressões para obter mais detalhes.
    • Variáveis de saída: você deve especificar um nome de referência para poder usar variáveis de saída em seu fluxo de trabalho de implantação. As variáveis de porta podem ser acessadas usando "PREDEPLOYGATE" como um "prefixo" em um trabalho sem agente. Por exemplo, quando o nome de referência é definido como 'gate1', o número da alteração pode ser obtido da seguinte forma: $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER).
    • CHANGE_REQUEST_NUMBER : Número do pedido de alteração.
    • CHANGE_SYSTEM_ID : ID do sistema da solicitação de alteração.
  3. No final do pipeline de lançamento, adicione um trabalho sem agente com uma tarefa Update ServiceNow Change Request.

    Uma captura de tela mostrando como configurar a tarefa Update ServiceNow Change Request.

  • Conexão ServiceNow: Conexão com a instância ServiceNow usada para gerenciamento de alterações.
  • Número da solicitação de alteração: número da solicitação de alteração a ser atualizada.
  • Status atualizado da solicitação de alteração: Status a ser definido para a solicitação de alteração. Essa entrada estará disponível se o status Atualizar estiver selecionado.
  • Fechar código e Fechar notas: Status de retorno.

Nota

A tarefa Update ServiceNow Change Request falhará se nenhum dos campos de solicitação de alteração for atualizado durante a execução. ServiceNow ignora campos inválidos e valores passados para a tarefa.

Criar um pipeline de versão

  1. Selecione Criar versão para iniciar um novo pipeline de versão.

  2. Seu pipeline deve criar uma nova solicitação de alteração no ServiceNow como parte das condições de pré-implantação criadas anteriormente.

    Uma captura de tela mostrando a execução do portão de pré-implantação.

  3. O pipeline aguardará que todos os portões sejam bem-sucedidos dentro do mesmo intervalo de amostragem. Para verificar o número da alteração, selecione o ícone de status para exibir os logs do pipeline.

    Uma captura de tela mostrando os logs do pipeline.

  4. A solicitação de alteração será enfileirada no ServiceNow e poderá ser visualizada pelo proprietário da alteração.

    Uma captura de tela mostrando uma nova solicitação de alteração no ServiceNow.

  5. O pipeline de liberação que disparou a nova solicitação de alteração pode ser encontrado na seção Metadados do Pipeline de DevOps do Azure.

    Uma captura de tela mostrando os metadados do pipeline de liberação.

  6. Quando a alteração estiver pronta para implementação (movida para o estado Implementar ), o pipeline retomará a execução e o status do gate deverá retornar com êxito.

    Uma captura de tela mostrando o status do portão de implantação.

  7. A solicitação de alteração será fechada automaticamente após a implantação.

Condutas Yaml

Este tutorial pressupõe que você tenha um pipeline yaml com um único estágio que implanta em um ambiente "mais recente".

Adicionar um cheque

  1. Navegue até o seu ambiente "mais recente", selecione o botão de reticências e, em seguida, selecione Aprovações e verificações.

  2. Selecione o sinal de adição para adicionar uma nova verificação e, em seguida, adicione a verificação ServiceNow Change Management ao seu ambiente. Use a mesma configuração usada para o portão de pré-implantação.

    Uma captura de tela mostrando como adicionar uma verificação do ServiceNow Change Management.

Adicionar a tarefa yaml

  1. Adicione um trabalho de servidor ao seu estágio para atualizar a solicitação de alteração.

    Uma captura de tela mostrando a tarefa sem agente.

  2. Guarde e execute o pipeline. Uma nova solicitação de alteração será criada automaticamente e o pipeline pausará e aguardará a conclusão das verificações.

  3. Uma vez concluídas as verificações, o pipeline deve retomar a execução. A solicitação de alteração será fechada automaticamente após a implantação.

Uma captura de tela mostrando a execução do pipeline.

FAQs

P: Quais versões do ServiceNow são suportadas?

R: Suportamos as seguintes versões: Kingston, Londres, Nova Iorque, Paris, Quebeque, Roma, San Diego e Tóquio.

R: Suportamos as seguintes versões: Kingston, Londres, Nova Iorque, Paris e Quebeque.

R: Suportamos as seguintes versões: versões de San Diego, Tóquio e Utah.

P: Que tipos de pedido de alteração são suportados?

R: Solicitações de alteração normais, padrão e de emergência são suportadas com esta integração.

P: Como defino propriedades de alteração adicionais?

R: Você pode especificar propriedades de alteração adicionais no campo Parâmetros de solicitação de alteração adicionais. Use um formato JSON de pares chave-valor, com o nome sendo o nome do campo (não o rótulo) prefixado com u_.

P: Posso atualizar campos personalizados na solicitação de alteração com parâmetros adicionais de solicitação de alteração?

R: Se campos personalizados forem definidos na solicitação de alteração, você deverá adicionar mapeamento para campos personalizados em Importar mapa de transformação de conjunto.

P: Não vejo valores pendentes preenchidos para Categoria, Estado e outros campos. O que devo fazer?

R: Os plug-ins Change Management Core e Change Management - State Model devem estar ativos em sua instância do ServiceNow para que os menus suspensos funcionem. Consulte Atualizar gerenciamento de alterações e Atualizar estados de solicitação de alteração para obter mais detalhes.

Recursos