Usar o Azure Pipelines com o Slack

Serviços de DevOps do Azure

Este artigo mostra como usar o aplicativo Azure Pipelines for Slack para monitorar seus eventos de pipeline. Você pode estabelecer e gerenciar assinaturas para eventos de pipeline, como compilações, versões e aprovações pendentes. As notificações desses eventos são entregues diretamente nos canais do Slack.

Nota

Esse recurso só está disponível nos Serviços de DevOps do Azure. Normalmente, os novos recursos são introduzidos primeiro no serviço de nuvem e, em seguida, disponibilizados no local na próxima versão principal ou atualização do Azure DevOps Server. Para obter mais informações, consulte Linha do tempo do recurso do Azure DevOps.

Pré-requisitos

  • Uma conta do Slack com permissão para instalar um aplicativo no seu espaço de trabalho do Slack.
  • Um projeto do Azure DevOps com permissões de Administradores de Coleção de Projetos ou Administradores de Projeto .

Instalar o aplicativo Azure Pipelines

Instale o aplicativo Azure Pipelines Slack em seu espaço de trabalho do Slack. Depois que o aplicativo for instalado, você verá a seguinte mensagem de boas-vindas. Enter /azpipelines para começar a interagir com o aplicativo.

Uma captura de tela mostrando a mensagem de boas-vindas do aplicativo Azure Pipelines.

Conecte-se ao seu pipeline

Depois que o aplicativo estiver instalado em seu espaço de trabalho do Slack, você poderá conectá-lo a qualquer pipeline que desejar monitorar. Você deve autenticar no Azure Pipelines antes de executar qualquer comando.

Uma captura de tela mostrando a mensagem de prompt de entrada.

Subscrever pipelines

Para começar a monitorar todos os pipelines em um projeto, insira /azpipelines subscribe <project url> um canal, substituindo <project url> pela URL do projeto do Azure DevOps. A URL do projeto pode ser vinculada a qualquer página dentro do seu projeto, exceto páginas de pipeline, por exemplo /azpipelines subscribe https://dev.azure.com/myorg/myproject/.

Você pode monitorar um pipeline específico usando /azpipelines subscribe <pipeline url>. A URL do pipeline pode ser vinculada a qualquer página dentro do seu pipeline que tenha um definitionId ou um buildId/releaseId no URL. Por exemplo:

  • /azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123
  • /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

O subscribe comando inscreve você para as seguintes notificações por padrão:

  • Para condutas YAML:
    • Estado do estágio de execução alterado
    • Etapa de execução aguardando aprovação
  • Para pipelines de construção clássicos, compilações concluídas
  • Para pipelines de versão Classic:
    • Implantação de versão iniciada
    • Implantação da versão concluída
    • Aprovação de implantação de liberação pendente

Uma captura de tela mostrando o exemplo de notificação.

Gerir subscrições

Para gerir as subscrições de um canal, introduza /azpipelines subscriptions. Este comando lista todas as subscrições atuais do canal e permite-lhe adicionar ou remover subscrições.

Uma captura de ecrã a mostrar uma lista de subscrições.

Nota

Os Administradores de Equipa não podem remover ou modificar subscrições criadas por Administradores de Projeto.

Personalizar subscrições

As subscrições predefinidas não têm filtros aplicados, mas pode personalizar estas subscrições de acordo com as suas preferências. Por exemplo, talvez você queira receber notificações apenas para compilações ou implantações com falha na produção. Você pode aplicar filtros para personalizar quais mensagens você recebe em seu canal.

Para personalizar uma assinatura:

  1. Execute o /azpipelines subscriptions comando para listar todas as suas assinaturas.
  2. Clique em Adicionar subscrição.
  3. Selecione o evento para o qual pretende subscrever e, em seguida, selecione a configuração pretendida.
  4. Selecione Guardar.

Por exemplo, para obter notificações apenas para compilações com falha, selecione Falha em Status da compilação.

Uma captura de tela mostrando como personalizar uma assinatura.

Aprovar implantações

Você pode aprovar implantações de dentro do seu canal do Slack sem ir ao Azure Pipelines. Inscreva-se no estágio Executar aguardando notificações de aprovação para pipelines YAML ou as notificações de aprovação de implantação de liberação pendentes para versões clássicas. Ambas as assinaturas são criadas por padrão quando você assina um pipeline.

Uma captura de tela mostrando a aprovação do pipeline no Slack.

O aplicativo Azure Pipelines for Slack permite lidar com todos os cenários de verificação e aprovação disponíveis no portal do Azure Pipelines. Esses cenários incluem um único aprovador, vários aprovadores e aprovação baseada em equipe. Você pode aprovar solicitações individualmente ou em nome de uma equipe.

Uma captura de tela mostrando um pipeline de pré-implantação aprovado no Slack.

Remover todas as subscrições

Para descodificar o seu canal, pode utilizar o comando para anular a /azpipelines unsubscribe all <project url> subscrição de todos os pipelines de um projeto. Por exemplo, /azpipelines unsubscribe all https://dev.azure.com/myorg/myproject.

Importante

Somente os administradores de projeto podem executar esse comando.

Referência de comando

O aplicativo Azure Pipelines para Slack dá suporte aos seguintes comandos:

Comando Description
/azpipelines subscribe <pipeline url or project url> Assine um pipeline ou todos os pipelines em um projeto e receba notificações.
/azpipelines subscriptions Adicione ou remova subscrições para este canal.
/azpipelines feedback Denuncie um problema ou sugira um recurso.
/azpipelines help Obtenha ajuda sobre os comandos.
/azpipelines signin Entre na sua conta do Azure Pipelines.
/azpipelines signout Saia da sua conta do Azure Pipelines.
/azpipelines unsubscribe all <project url> Remova todos os pipelines de 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 de pipelines em seus canais privados. Você precisa convidar o bot para seu canal privado usando /invite @azpipelines. Depois de adicionar o bot, você pode configurar e controlar suas notificações da mesma forma que para um canal público.

Condições e limitações

  • Você pode usar o aplicativo Azure Pipelines para Slack somente com os Serviços de DevOps do Azure.
  • Para configurar as assinaturas, você deve ser um administrador do projeto que contém o pipeline.
  • As notificações não são suportadas em mensagens diretas.
  • Não há suporte para aprovações de implantação que tenham a identidade Revalidar aprovador antes de concluir a política de aprovação aplicada.
  • Para usar o aplicativo, o acesso a aplicativos de terceiros via OAuth deve ser habilitado nas Configurações> de Segurança>da Organização de DevOps do Azure.

Resolução de Problemas

Se você receber os seguintes erros ao usar o Aplicativo de Pipelines do Azure para Slack, tente os procedimentos nesta seção.

Ocorreu um problema. Tente novamente.

O aplicativo Azure Pipelines usa o protocolo de autenticação OAuth e requer acesso a aplicativos de terceiros via OAuth para ser habilitado. Para habilitar essa configuração, navegue até Políticas de Segurança>das Configurações>da Organização e habilite o acesso a aplicativos de terceiros via OAuth.

Uma captura de tela mostrando como habilitar o acesso de terceiros via OAuth.

Falha na configuração. Certifique-se de que a organização existe e que tem permissões suficientes.

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

  2. Numa janela privada/anónima do navegador, navegue e https://aex.dev.azure.com/me inicie sessão. Certifique-se de selecionar o diretório que contém a organização que tem seu pipeline.

    Uma captura de tela mostrando como selecionar seu diretório de pipeline.

  3. No mesmo navegador, abra uma nova guia e vá para https://slack.com. Entre no seu espaço de trabalho usando o cliente Web e execute /azpipelines signout seguido por /azpipelines signin.

  4. Selecione o botão Sign in. Se você for redirecionado para uma página de consentimento, verifique se o diretório exibido ao lado do seu endereço de e-mail corresponde ao que você entrou.