É 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 extençã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
É dífí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á tem 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. Infelizamente 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, senã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 ideial 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 interressante 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.
Emmanuel Brandão