segunda-feira, 10 de abril de 2017

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

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

Nenhum comentário:

Postar um comentário