DevSecOps

27 abr, 2017

Notificação no VSTS ou TFS por e-mail? Não… Notifique pelo Slack! (Integration)

Publicidade

É fato, recebemos muito e-mail no trabalho, além dos pessoais; porém, muitas vezes esse e-mails ou não importam, ou são tantos sobre algo que não é importante que acabamos por ignorá-los.

Com notificações do VSTS ou do TFS não seria diferente. Mesmo assinando somente notificações relevantes, acabamos por mandar o e-mail notificando algum acontecimento para alguma pasta de “Notificações”, arquivando e nem olhando o que aconteceu. O que seria algo interessante e totalmente aderente as práticas de comunicação ou mesmo transparência de agilidade ou cultura DevOps, acaba por se transformar em um transtorno.

Mas se o seu time usa uma ferramenta de colaboração por chat, o Slack, por exemplo, é possível enviar várias notificações adicionando apenas uma extensão.

Integração

Não é necessário instalar uma extensão, pois uma integração é feita através de Services Hooks. A Microsoft já deixou preparado no produto a possibilidade de ser integrado com vários serviços conhecidos, por exemplo, no VSTS:

Além dos serviços conhecidos, é possível criar a própria integração em um endpoint (1) seu, por exemplo.

Já a lista de integrações do TFS é um pouco menor, mesmo na versão 2017:

Tanto no VSTS, quanto no TFS, a janela de configurações acima pode ser acessada pelo menu Settings > Service Hooks, dentro de um Team Project:

Slack

É difícil não saber sobre o Slack: é uma ferramenta de colaboração de times em formato de chat! Ou seja, comunicação em tempo real. Não é um substituto do e-mail, que está sendo mais direcionado para a consolidação de informações, tais como a ata de uma reunião, ou a formalização de uma requisição.

O chat é realmente uma ferramenta mais dinâmica, e se você disponibilizada para uso na empresa, é onde o time de desenvolvimento vai interagir mais.

Criando a integração no Slack

No seu Slack, clique para abrir o menu de opções (1) e em seguida no item “App & Integrations”:

Ao clicar, será aberto um site com configurações, da mesma maneira que o VSTS e o TSF já têm várias integrações, o Slack também entrega várias prontas; procure na caixa de texto (1) por “Visual Studio Team Services”:

Já é apresentado as integrações existentes, clique no botão “Install” (1):

Em seguida, escolha o canal para o qual as notificações serão “postadas” (1), em seguida é só instalar:

O próprio Slack irá fornecer a ajuda para continuar o processo, porém o mais importante desta tela é a informação da URL para a integração. Use “Copy URL” para continuarmos o processo no VSTS.

As customizações existentes são o nome da integração no painel integrações do Slack. Infelizmente, não é possível customizar as informações que serão mostradas na postagem da mensagem no canal.

VSTS ou TFS

Acesse o menu de Settings > Service Hooks, se nenhuma integração tiver sido feita nesta conta, estará visível o botão Create Subscription, se não, procure pelo botão com o sinal ‘+’.

 

Escolha o serviço do VSTS:

 

Em seguida, é preciso escolher o trigger, ou seja, qual a ação que irá gerar uma notificação; neste caso vamos usar o Build Completed (1), e nos filtros, vamos selecionar uma definição de build específica (2), e o status Succeded (3):

Essas configurações são bastante importantes para não cairmos no erro das notificações por e-mail, que é receber demasiadas notificações o que torna cansativo a verificação.

Se pensarmos no conceito de CI e deploy em ambiente de desenvolvimento, talvez o ideal seja receber somente notificações de falha de deploy, nem de build executado com sucesso, pois isso poluiria a timeline do chat!

Seguindo, o último passo irá pedir aquela URL que foi gerada anteriormente, é só colocar no campo Slack Webhook URL:

Clicando no botão Teste, veja o que acontece no canal do time no Slack:

 

Já executando um build, e o status sendo de sucesso:

No meio de um chat, o time pode conferir que um build foi executado, o status é de sucesso, tem o nome, quem solicitou, quanto tempo demorou… Bem informativo.

Na tela de Service Hooks, algumas informações importantes para gerenciamento: o status da integração (1) e a quantidade de execuções nos últimos 14 dias:

 

Talvez você receba um e-mail de alerta de build, mas isso não é da integração com o Slack, e sim uma notificação que você deve desativar no VSTS.

O que mais é possível fazer

Além do build completed, você pode notificar no Slack:

  • Code pushed
  • Pull request created
  • Pull request merge commit created
  • Pull request updated
  • Release abandoned
  • Release created
  • Release deployment approval completed
  • Release deployment approval pending
  • Release deployment completed
  • Release deployment started
  • Team room message posted
  • Work item commented on
  • Work item created
  • Work item deleted
  • Work item restored
  • Work item updated

Ou seja, é muita integração informativa e interessante para deixar cair no esquecimento na sua caixa de e-mail! Em determinados momentos, é interessante ligar algumas, para resolver alguma comunicação no time, em outros momentos, deixar somente as que mostram falhas.

***

Este artigo foi produzido em parceria com a Lambda3. Leia outros conteúdos no blog da empresa: blog.lambda3.com.br