Como usar o Slack Webhooks: um guia de desenvolvedor
No mundo do desenvolvimento de software e colaboração de equipes, as notificações em tempo real não são apenas uma conveniência-elas são uma necessidade. Seja uma notificação sobre um novo usuário se inscrevendo, um pipeline de CI/CD concluindo ou um alerta crítico do sistema, é crucial obter informações para as pessoas certas no momento certo. É aqui que entra os webhooks do Slack, fornecendo uma maneira poderosa e simples de empurrar atualizações de seus aplicativos diretamente para seus canais de folga. Este guia abrangente levará você a tudo o que você precisa saber sobre o Slack Webhooks. Cobriremos o que são, como criá -los e como enviar mensagens usando -as. Também criaremos um exemplo prático usando o Node.js e mostraremos como superar o desafio comum de testar as integrações do Webhook em uma máquina de desenvolvimento local usando a ferramenta de código aberto, o Tunnelmole. O que é um slack webhook? Na sua essência, um Webhook de entrada frouxo é um mecanismo simples que permite que aplicativos externos publiquem mensagens em um canal de folga específico. Ele fornece um URL exclusivo. Quando o seu aplicativo envia uma solicitação de postagem HTTP com uma carga útil JSON para este URL, a mensagem aparece no canal Slack designado. Pense nisso como um canal de comunicação unidirecional do seu aplicativo para o Slack. Essa simplicidade é sua maior força. Você não precisa implementar a API completa do Slack ou lidar com autenticação complexa como OAuth. Você só precisa fazer uma solicitação da Web padrão. Os casos de uso comuns para os webhooks do Slack incluem: Monitoramento do sistema: envio de alertas de serviços como Grafana ou Prometheus quando o uso da CPU de um servidor é muito alto. Notificações de CI/CD: notificar um canal de desenvolvimento quando uma nova construção é bem -sucedida ou falha em Jenkins, ações do GitHub ou Gitlab CI. Suporte ao cliente: Criando alertas quando um novo ticket de alta prioridade é registrado em Zendesk ou Jira. Business Intelligence: Publicando atualizações quando uma nova venda é feita ou um novo usuário registra para o seu serviço. Como o Slack Webhooks funciona O fluxo de trabalho de um webhook de entrada é direto: gerar um URL: você cria um novo aplicativo Slack no seu espaço de trabalho e ativa o recurso “Webhooks de entrada”. O Slack gera um URL exclusivo vinculado a um canal específico. Prenda o URL: este URL é um segredo. Qualquer pessoa que o tenha pode postar mensagens no seu canal, por isso é essencial tratá -lo como uma senha ou uma chave da API. Envie uma solicitação de postagem HTTP: Seu aplicativo, servidor ou script faz uma solicitação de postagem HTTP para o URL gerado. Inclua uma carga útil JSON: O corpo da solicitação de postagem deve conter um objeto JSON. Este JSON define o conteúdo e a aparência da mensagem que será publicada no Slack. A mensagem aparece no Slack: Slack recebe a solicitação, valida o URL, analisa a carga útil do JSON e publica a mensagem formatada no canal. Enquanto o diagrama acima ilustra uma solicitação pública sendo tocada para uma máquina local, o princípio é o mesmo para um webhook de folga. Seu aplicativo (onde quer que seja hospedado) envia uma solicitação para um URL público (fornecido pelo Slack), que depois direciona a mensagem para o seu espaço de trabalho. Criando seu primeiro slack webhook, vamos sujar as mãos e criar um URL da webhook. O processo leva apenas alguns minutos. Etapa 1: Crie um aplicativo Slack primeiro, você precisa criar um aplicativo Slack. Isso não significa que você está construindo um aplicativo complexo e distribuível; É apenas um contêiner para a funcionalidade webhook em seu espaço de trabalho. Navegue até o site da Slack API. Clique no botão “Criar novo aplicativo”. No pop-up, escolha “do zero”. Dê um nome ao seu aplicativo (por exemplo, “meu notificador de projeto”) e selecione o espaço de trabalho do Slack em que você deseja instalá -lo. Clique em “Criar aplicativo”. Você será redirecionado para a página de informações básicas do seu novo aplicativo. Etapa 2: Ative agora, você precisa ativar o recurso Webhook para o seu aplicativo. Na página Configurações do seu aplicativo, selecione “Webhooks de entrada” na seção “Recursos” na barra lateral esquerda. Alterne o interruptor “Ative Webhooks de entrada” para ON. Etapa 3: Crie e autorize o URL da webhook uma vez ativado, você pode criar o URL da webhook real para um canal. Role para baixo na página Webhooks de entrada e clique no botão “Adicionar novo webhook ao workspace”. Você será levado para uma tela de autorização. No menu suspenso, selecione o canal onde deseja que as mensagens sejam publicadas (por exemplo, #General, #dev-alerts). Clique em “Permitir”. O Slack o redirecionará de volta para a página Configurações e agora você verá o seu novo URL da webhook listado na tabela. Parecerá algo assim: importante: copie este URL e mantenha -o seguro. Esta é a chave secreta que seu aplicativo usará para enviar mensagens. Não o comprometa com os repositórios de código público. Uma prática recomendada é armazená -lo em uma variável de ambiente. Enviar sua primeira mensagem com o Curl, a maneira mais fácil de testar seu novo URL do webhook é usando o CURL do seu terminal. Substitua Your_webhook_url pelo URL que você acabou de copiar. Curl -x Post -H ‘Tipo de Conteúdo: Application/JSON’ -Data ‘{“Text”: “Hello do meu novo Slack Webhook!”}’ Your_Webhook_Url Digite o modo de saída de tela cheia, se tudo estiver configurado corretamente, esta mensagem aparecerá no canal de lesão que você selecionou! O {“Text”: “…_ Message”} é a carga útil JSON mais simples possível. O Slack também suporta formatação muito mais rica usando o kit de bloco, sua estrutura de interface do usuário para criar mensagens visualmente atraentes e interativas com elementos como cabeçalhos, divisores, imagens e botões. Construindo um aplicativo Node.js para enviar notificações Slack, vamos criar um aplicativo Node.js simples usando a estrutura Express.js para enviar uma notificação de folga. Este pode ser o back -end para um painel de monitoramento, uma API que desencadeia notificações ou qualquer outro serviço. Configuração do projeto Primeiro, inicialize um novo projeto Node.js e instale os pacotes necessários. Usaremos o Express para o servidor da Web e o AXIOS para fazer a solicitação HTTP para Slack. MKDIR SLACK-NOTIFIER CD SLACK-NOTIFIER NPM INAST -Y NPM Instalação Express Axios Digite o modo de saída de tela cheia agora, crie um arquivo chamado App.js e adicione o código a seguir. Lembre -se de substituir ‘your_webhook_url’ pelo seu URL real. Para um aplicativo real, você deve carregar isso de uma variável de ambiente. // app.js const express = requer (‘express’); const axios = requer (‘axios’); const app = express (); Porta const = 3000; // IMPORTANTE: Em um aplicativo real, use uma variável de ambiente para o URL da webhook! const slack_webhook_url = ‘your_webhook_url’; App.Use (Express.json ()); // An endpoint that triggers a Slack notification app.post(‘/notify’, async (req, res) => { const { message } = req.body; if (!message) { return res.status(400).send(‘Message is required’); } try { console.log(`Sending message to Slack: ${message}`); await Axios Post (SLACK_Webhook_url, {Text: `Nova notificação: $ {Mensagem}`}); res.status (500) .send (‘Falha ao enviar notificação.’); App.Listen (porta, () => {console.log (`servidor em execução em}); insira o modo de saída de tela cheia de tela cheia para executar este servidor, execute: node app.js digite screen modo de tela full -tytEn Modo FullSeting O seu servidor agora está ouvindo para testá -lo, você pode usar o Surl Again a partir de um novo terminal para acertar seu final” ‘{“Mensagem”: “O servidor de construção acabou de terminar a implantação.” ASSUMA EMPRESENTE O SUPERIOR PARTE EM FOLTE FORMULTUNTE FORMULTULTIVO DO FORMO DE PRONTAGEM DO FORMO DE PRONTAGEM DO FORMOW MACHOUSTIVOLTEMENTE DESLIGADO FUNDO FUNDO OBSERVALIOLTEMENTE DESLIGADO FULTIVO FUNCIONALIOLTIVAL STECTRIVENTE ELECTISTE FUCLOTEMENTE DESLIGADO FULTEMENTE FUNDO, Uma ferramenta de tunelamento entra. Usando o Tunnelmole para expor o Tunnelmol do servidor local é uma ferramenta de código aberto que cria um túnel seguro de um URL público para a sua máquina local you have Node.js and NPM installed, the easiest way is: sudo npm install -g tunnelmole Enter fullscreen mode Exit fullscreen mode Alternatively, for Linux, Mac, or WSL, you can use their install script: curl -O && sudo bash install Enter fullscreen mode Exit fullscreen mode Running Tunnelmole With your Node.js server running on port 3000, open another terminal and run: tmole 3000 Enter Modo de tela cheia de tela cheia de tela cheia Tunnelmole Iniciar e fornecerá um URL público HTTPS que encaminhe todo o tráfego para o seu host local: 3000. Componentes. Hub, melhorando os tempos de visibilidade e resposta. Integrações interativas de folga com facilidade.
Fonte
Publicar comentário