Integração ao gerenciamento de alterações do ServiceNow

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

O Azure Pipelines dá suporte à integração com o ServiceNow para melhorar a colaboração entre equipes de desenvolvimento e TI. Ao incluir o gerenciamento de alterações em pipelines de lançamento, as equipes podem reduzir os riscos associados a alterações e seguir metodologias de gerenciamento de serviços, como ITIL, aproveitando ao máximo o Azure Pipelines.

Neste artigo, você aprenderá a:

  • Configurar instâncias do ServiceNow.
  • Incluir o processo de gerenciamento de alterações do ServiceNow como um gate de lançamento.
  • Monitorar o processo de gerenciamento de alterações de pipelines de lançamento.
  • Manter as solicitações de alteração do ServiceNow atualizadas com os resultados da implantação.

Pré-requisitos

Configurar a instância do ServiceNow

  1. Instale a extensão do Azure Pipelines na sua instância do ServiceNow. Você precisará de credenciais elevadas para concluir a instalação. Confira Visão geral de compra para obter mais detalhes sobre como instalar aplicativos pela loja do ServiceNow.

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

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

Configurar a organização do Azure DevOps

  1. Instale a extensão de Gerenciamento de Alterações do ServiceNow em sua organização do Azure DevOps.

    Captura de tela mostrando a extensão de gerenciamento de alterações do ServiceNow.

  2. Crie uma nova conexão de serviço do ServiceNow no seu projeto do Azure DevOps como explicado a seguir. Como alternativa, você pode usar a autenticação OAuth2.

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

Configurar o pipeline de lançamento

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

    Captura de tela mostrando como adicionar um gate 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:

    Captura de tela mostrando como configurar o gate do ServiceNow Change Management.

    • ServiceNow connection: conexão com a instância do ServiceNow usada para gerenciamento de alterações.
    • Short description: um resumo da alteração.
    • Description: descrição detalhada da alteração.
    • Category: a categoria da alteração. Exemplo: Hardware, Network e Software.
    • Priority: prioridade da alteração.
    • Risk: o nível de risco da alteração.
    • Impact: o efeito da alteração sobre os negócios.
    • Configuration Item: o CI (item de configuração) ao qual a alteração se aplica.
    • Assignment group: o grupo ao qual a alteração está atribuída.
    • Schecule of change request: agendamento da alteração respeitado pelo fluxo de trabalho do 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.
    • Additional change request parameters: o nome deve ser o nome do campo (não o rótulo) com “u_” como prefixo. Exemplo: u_backout_plan. O valor deve ser um valor válido no ServiceNow. Entradas inválidas são ignoradas.
    • Desired state of change request: o gate terá êxito e o pipeline continuará se o status da solicitação de alteração for igual ao valor fornecido.
    • Advanced: especifica uma expressão que controla quando esse gate 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'))". Confira Expressões para obter mais detalhes.
    • Output Variables: especifique um nome de referência para poder usar variáveis de saída no fluxo de trabalho de implantação. As variáveis de gate 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 de alteração pode ser obtido da seguinte maneira: $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER).
    • CHANGE_REQUEST_NUMBER: número da solicitação 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 (Atualizar solicitação de alteração do ServiceNow).

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

  • ServiceNow connection: conexão com a instância do ServiceNow usada para gerenciamento de alterações.
  • Change request number: número da solicitação de alteração a ser atualizada.
  • Updated status of change request: status para definir a solicitação de alteração. Essa entrada estará disponível se a opção Update status estiver selecionada.
  • Close code and Close notes: status do retorno.

Observação

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

Criar um pipeline de lançamento

  1. Selecione Create release para iniciar um novo pipeline de lançamento.

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

    Captura de tela mostrando a execução do gate de pré-implantação.

  3. O pipeline aguardará que todos os gates tenham êxito no mesmo intervalo de amostra. Para verificar o número de alteração, selecione o ícone status para exibir os logs do pipeline.

    Captura de tela mostrando logs do pipeline.

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

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

  5. O pipeline de lançamento que disparou a nova solicitação de alteração pode ser encontrado na seção Azure DevOps Pipeline metadata .

    Captura de tela mostrando os metadados do pipeline de lançamento.

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

    Captura de tela mostrando o status do gate de implantação.

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

Pipelines YAML

Este tutorial pressupõe que você tenha um pipeline YAML com uma única fase que é implantado em um ambiente "mais recente".

Adicionar uma verificação

  1. Navegue até o ambiente "mais recente", selecione o botão de reticências e selecione Approvals and checks.

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

    Captura de tela mostrando como adicionar a verificação ServiceNow Change Management.

Adicionar a tarefa YAML

  1. Adicione um trabalho de servidor à fase para atualizar a solicitação de alteração.

    Captura de tela mostrando a tarefa sem agente.

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

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

Captura de tela mostrando a execução do pipeline.

Perguntas frequentes

P: Quais versões do ServiceNow são compatíveis?

R: Oferecemos suporte às seguintes versões: Kingston, London, New York, Paris, Quebec, Rome, San Diego e Tokyo.

R: Oferecemos suporte às seguintes versões: Kingston, London, New York, Paris e Quebec.

R: Oferecemos suporte às seguintes versões: San Diego, Tokyo e Utah.

P: Quais tipos de solicitação de alteração têm suporte?

R: Nesta integração, há suporte para solicitações de alteração normais, padrão e de emergência.

P: Como fazer definir propriedades de alteração adicionais?

R: Você pode especificar propriedades de alteração adicionais no campo Additional change request parameters. Use um formato JSON de pares chave-valor, com o nome sendo o nome do campo (não o rótulo) com o prefixo u_.

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

R: Se os campos personalizados forem definidos na solicitação de alteração, você deverá adicionar o mapeamento de campos personalizados em Import set transform map.

P: Não vejo valores preenchidos nas listas suspensas para Category, Status e outros campos. O que devo fazer?

R: Os plug-ins Change Management Core e Change Management – State Model devem estar ativos na instância do ServiceNow para que as listas suspensas funcionem. Confira Atualizar o gerenciamento de alterações e Atualizar estados de solicitação de alteração para obter mais detalhes.

Recursos