Usar o Azure Pipelines com o Slack

Azure DevOps Services

Com o aplicativo Azure Pipelines para Slack, os usuários do Slack podem acompanhar facilmente os eventos que ocorrem em seus pipelines. O aplicativo permite que os usuários estabeleçam e supervisionem assinaturas de vários eventos de pipeline, como builds, lançamentos, aprovações pendentes e muito mais. As notificações desses eventos são entregues diretamente aos canais do Slack dos usuários

Observação

Esse recurso só está disponível no Azure DevOps Services. Normalmente, os novos recursos são introduzidos primeiro no serviço de nuvem e disponibilizados localmente na próxima versão principal ou atualização do Azure DevOps Server. Para saber mais, confira Linha do tempo do recurso do Azure DevOps.

Pré-requisitos

  • No Slack, você precisa ter permissão para instalar um aplicativo no seu espaço de trabalho do Slack.
  • Para o Azure DevOps, você precisa estar no grupo Administradores de Coleção de Projetos ou Administradores de Projeto para configurar uma assinatura do Slack.

Instalar o aplicativo Azure Pipelines

Navegue até o aplicativo Slack do Azure Pipelines para instalar o aplicativo Azure Pipelines no workspace do Slack. Depois de adicionado, você verá uma mensagem de boas-vindas do aplicativo como a mostrada abaixo. Use o identificador /azpipelines para começar a interagir com o aplicativo.

A screenshot showing the Azure Pipelines app welcome message.

Conectar-se ao seu pipeline

Depois que o aplicativo tiver sido instalado no workspace do Slack, você poderá conectar o aplicativo a qualquer pipeline que deseja monitorar. Você terá que se autenticar no Azure Pipelines antes de executar algum comando.

A screenshot showing the sign-in prompt message.

Para começar a monitorar todos os pipelines em um projeto, use o seguinte comando de barra dentro de um canal:

/azpipelines subscribe [project url]

A URL do projeto pode se vincular a qualquer página em seu projeto (exceto URLs para pipelines). Por exemplo: /azpipelines subscribe https://dev.azure.com/myorg/myproject/

Você também pode monitorar um pipeline específico usando o seguinte comando:

/azpipelines subscribe [pipeline url]

A URL do pipeline pode se vincular a qualquer página no pipeline que tenha uma definitionId ou uma buildId/releaseId na URL. Por exemplo: /azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123 ou: /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

O comando de assinatura faz com que você comece a usar algumas assinaturas por padrão. Aqui estão as notificações padrão habilitadas para o seguinte tipo de pipeline:

Pipelines de build Pipelines de lançamento Pipelines YAML
Notificação Compilação concluída Notificações Implantação de versão iniciada, Implantação de versão concluída e Aprovação de implantação de versão pendentes Notificações Estado da fase de execução alterado e Fase de execução aguardando aprovação

A screenshot showing notification example.

Gerenciar Assinaturas

Para gerenciar as assinaturas de um canal, use o seguinte comando: /azpipelines subscriptions

Esse comando lista todas as assinaturas atuais do canal e permite que você adicione ou remova assinaturas.

Observação

Os administradores de equipe não podem remover ou modificar assinaturas criadas pelos administradores do Project.

A screenshot showing a list of subscriptions.

Personalizar assinaturas

Por padrão, ao assinar um pipeline, várias assinaturas são geradas sem um filtro aplicado. No entanto, é comum que os usuários queiram personalizar essas assinaturas de acordo com suas preferências. Por exemplo, os usuários podem desejar receber notificações apenas para builds com falha ou quando implantações são feitas na produção. O aplicativo Azure Pipelines oferece a opção de aplicar filtros, permitindo que os usuários personalizem as mensagens recebidas em seu canal. Para personalizar uma assinatura:

  1. Execute o comando /azpipelines subscriptions para listar todas as suas assinaturas.

  2. Selecione Adicionar assinatura.

  3. Selecione o evento que você deseja assinar e selecione a configuração desejada.

  4. Selecione Salvar ao terminar.

Exemplo: obter notificações somente para builds com falha

A screenshot showing a list how to add a custom new subscription.

Aprovar implantações

Você pode aprovar implantações dentro do canal do Slack sem navegar até o portal do Azure Pipelines assinando as notificações Aprovação de implantação de versão pendente (lançamentos clássicos) ou Fase de execução aguardando aprovação (pipelines YAML). Ambas as assinaturas são criadas por padrão quando você assina um pipeline.

A screenshot showing pipeline approval in Slack.

O aplicativo Azure Pipelines para Slack permite que você lide com todos os cenários de verificação e aprovação disponíveis no portal do Azure Pipelines. Isso inclui um único aprovador, vários aprovadores e aprovação baseada em equipe. Você tem a opção de aprovar solicitações individualmente ou em nome de uma equipe.

A screenshot showing a predeployment pipeline approved in Slack.

Remover todas as assinaturas

Para organizar seu canal, você pode usar os comandos a seguir para cancelar a assinatura de todos os pipelines em um projeto. Por exemplo: /azpipelines unsubscribe all https://dev.azure.com/myorg/myproject.

/azpipelines unsubscribe all [project url]

Importante

Este comando só pode ser executado pelos administradores de projeto.

Referência de comandos

Aqui estão todos os comandos compatíveis com o aplicativo Azure Pipelines para Slack:

Comando barra Funcionalidade
/azpipelines subscribe [url do pipeline/url do projeto] Assinar um pipeline ou todos os pipelines em um projeto para receber notificações
/azpipelines subscriptions Adicionar ou remover as assinaturas deste canal
/azpipelines feedback Relatar um problema ou sugerir um recurso
/azpipelines help Obter ajuda nos comandos de barra
/azpipelines signin Entrar em sua conta do Azure Pipelines
/azpipelines signout Sair da conta do Azure Pipelines
/azpipelines unsubscribe all [URL do projeto] Remover todos os pipelines (pertencentes a um projeto) e suas assinaturas associadas de um canal

Notificações em canais privados

O aplicativo Azure Pipelines também pode ajudá-lo a monitorar a atividade dos pipelines em seus canais privados. Você precisará convidar o bot para seu canal privado usando /invite @azpipelines. Depois que o bot tiver sido adicionado, você poderá configurar e controlar suas notificações da mesma maneira que faria em um canal público.

Observação

  • No momento, você pode usar o aplicativo Azure Pipelines para Slack apenas com um projeto hospedado no Azure DevOps Services.
  • O usuário precisa ser um administrador do projeto que contém o pipeline para configurar as assinaturas
  • No momento, não há suporte para notificações dentro de mensagens diretas
  • Não há suporte a aprovações de implantação que tenham a política "Revalidar identidade do aprovador antes de concluir a aprovação" aplicada
  • O 'Acesso a aplicativos de terceiros por meio do OAuth' precisa estar habilitado a fim de receber notificações para a organização no Azure DevOps (Configurações da Organização -> Segurança -> Políticas)

Solução de problemas

Se você estiver enfrentando os seguintes erros ao usar o aplicativo Azure Pipelines para Slack, siga os procedimentos nesta seção.

Algo deu errado. Tente novamente

O aplicativo Azure Pipelines usa o protocolo de autenticação OAuth e requer que o acesso de aplicativos de terceiros por meio do OAuth esteja habilitado. Para habilitar essa configuração, navegue até Configurações da Organização>Segurança>Políticas e ative o acesso de aplicativos de terceiros por meio do OAuth para a configuração da organização.

A screenshot showing how to enable third party access via OAuth.

Falha na configuração. Verifique se a organização existe e se você tem permissões suficientes

Saia do Azure DevOps navegando até esta URL: https://aka.ms/VsSignout.

Abra uma janela privada/anônima do navegador, navegue até https://aex.dev.azure.com/me e entre. Selecione o diretório que contém a organização na qual o pipeline que você deseja assinar está localizado.

A screenshot showing how to select your pipeline directory.

Usando o mesmo navegador, abra uma nova guia e vá para https://slack.com. Faça logon no workspace usando o cliente Web e execute o comando /azpipelines signout seguido por /azpipelines signin.

Selecione o botão Sign in e você será redirecionado para uma página de consentimento, conforme mostrado no exemplo abaixo. Verifique se o diretório exibido ao lado do endereço de email corresponde ao selecionado na etapa anterior. Selecione Aceitar para concluir o processo de entrada.

A screenshot showing how to allow pipelines slack integration.