É 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:

20160410_01

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:

20160410_02

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:

20160410_03

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”:

20160410_04

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”:

20160410_05

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

20160410_06

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

20160410_07

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.

20160410_08

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 ‘+’.

20160410_09

Escolha o serviço do VSTS:

20160410_10

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):

20160410_11

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:

20160410_12

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

20160410_13

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

20160410_14

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:

20160410_15

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.