Usar o Azure Pipelines com o Slack

Azure DevOps Services

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

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 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 workspace 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 Slack do Azure Pipelines em seu workspace 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.

Conectar-se ao seu pipeline

Depois que o aplicativo for instalado no workspace do Slack, você poderá conectá-lo a qualquer pipeline que queira monitorar. Você deve se autenticar no Azure Pipelines antes de executar qualquer comando.

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

Inscrever-se em 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. O URL do projeto pode ser vinculado a qualquer página do 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>o . 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
  • /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

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

  • Para pipelines YAML:
    • Estado do estágio de execução alterado
    • Estágio de execução aguardando aprovação
  • Para pipelines de build clássicos, builds concluídos
  • Para pipelines de lançamento clássicos:
    • Implantação da versão iniciada
    • Implantação da versão concluída
    • Aprovação de implantação de versão pendente

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

Gerenciar Assinaturas

Para gerenciar as inscrições de um canal, digite /azpipelines subscriptions. Esse comando lista todas as assinaturas atuais do canal e permite adicionar ou remover assinaturas.

Uma captura de tela mostrando uma lista de assinaturas.

Observação

Os Administradores de Equipe não podem remover ou modificar assinaturas criadas por Administradores de Projeto.

Personalizar assinaturas

As assinaturas padrão não têm filtros aplicados, mas você pode personalizá-las de acordo com suas preferências. Por exemplo, talvez você queira receber notificações apenas para builds ou implantações com falha na produção. Você pode aplicar filtros para personalizar 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.

Por exemplo, para obter notificações apenas para builds com falha, selecione Falha em Status do build.

Uma captura de tela mostrando como personalizar uma assinatura.

Aprovar implantações

Você pode aprovar implantações de dentro do canal do Slack sem acessar o Azure Pipelines. Assine o estágio Executar aguardando notificações de aprovação para pipelines YAML ou as notificações pendentes de aprovação de implantação de versão 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 para Slack permite que você lide com todos os cenários de verificação e aprovação disponíveis no portal do Azure Pipelines. Esses cenários incluem aprovador único, 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 assinaturas

Para organizar seu canal, você pode usar o comando para cancelar a /azpipelines unsubscribe all <project url> assinatura de todos os pipelines em 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 do comando

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

Comando Descrição
/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 inscrições para este canal.
/azpipelines feedback Relate um problema ou sugira um recurso.
/azpipelines help Obtenha ajuda sobre os comandos.
/azpipelines signin Entre em 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 Azure DevOps Services.
  • Para configurar as assinaturas, você deve ser um administrador do projeto que contém o pipeline.
  • Não há suporte para notificações em mensagens diretas.
  • Não há suporte para aprovações de implantação que têm a identidade Revalidar do aprovador antes de concluir a política de aprovação aplicada.
  • Para usar o aplicativo, o acesso a aplicativos de terceiros por meio do OAuth deve estar habilitado nas configurações>da Organização do Azure DevOps Políticas de Segurança.>

Solução de problemas

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

Ocorreu um erro. 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é 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 por meio do OAuth.

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

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

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

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

  3. No mesmo navegador, abra uma nova guia e vá para https://slack.com. Entre no workspace 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 àquele em que você entrou.