Sobre como testar os webhooks
Você pode testar o envio de webhooks. Isso permite que você verifique se o GitHub envia uma entrega de webhook em resposta a um evento que deve acionar uma entrega de webhook.
Você também pode testar o código que lida com as entregas de webhooks usando um computador ou um codespace como servidor local e encaminhando as entregas de webhook para o servidor local. Isso permitirá que você desenvolva e depure o código sem implantá-lo no servidor em produção.
Testando a entrega de webhooks
Você pode disparar um evento de webhook para verificar se o GitHub enviou uma entrega de webhook.
-
Acione seu webhook. Por exemplo, se for testar um webhook de repositório que está inscrito no evento , abra um problema no repositório em que o webhook está configurado.
Você também pode reenviar uma entrega anterior de webhook. Para saber mais, confira AUTOTITLE.
Se estiver usando um webhook de organização ou repositório, você também poderá usar a API REST para acionar o evento para o seu webhook. Se estiver usando um webhook de repositório e seu webhook estiver inscrito no evento , você poderá usar a API REST para acionar um evento de teste para seu webhook. Para saber mais, confira AUTOTITLE e AUTOTITLE.
-
Verifique o GitHub para confirmar se um envio de webhook foi realizado. Para obter informações sobre como fazer isso para cada tipo de webhook, confira AUTOTITLE.
Se uma entrega de webhook não foi realizada, ou se ela foi enviada, mas o GitHub indica que a entrega falhou, consulte o guia de solução de problemas para ajudar a diagnosticar o problema. Para saber mais, confira AUTOTITLE.
Testando o código do webhook localmente
Para testar o código do webhook localmente no computador ou no codespace, você pode usar uma URL de proxy de webhook para encaminhar webhooks do GitHub para o computador ou o codespace. Você pode usar o computador ou o codespace como servidor local para receber esses webhooks encaminhados.
As seções a seguir demonstram como usar o smee.io para fornecer uma URL de proxy de webhook e encaminhar webhooks.
Para obter exemplos específicos de código e das etapas de teste, confira AUTOTITLE.
Obter a URL de proxy de webhook
- No navegador, navegue até .
- Clique em Iniciar um novo canal.
- Copie a URL completa em "URL de Proxy de Webhook". Você usará esse URL nas etapas de configuração a seguir.
Configurar um webhook para usar a URL de proxy do webhook
Configure o webhook para usar a URL de proxy do webhook mencionada acima. Para saber mais, confira AUTOTITLE e AUTOTITLE.
Agora, o GitHub enviará as entregas de webhook para essa URL.
Iniciar um servidor local
No computador ou no codespace, inicie um servidor local. Como fazer isso depende de como o código para receber webhooks é escrito. Para ver exemplos, confira AUTOTITLE.
É preciso ter certeza de que o código pode ser executado localmente. Por exemplo, se o código depender de variáveis de ambiente no servidor em produção, verifique se as variáveis de ambiente também estão disponíveis no servidor local.
Também pode ser útil adicionar instruções de log para que você possa verificar se as etapas do código foram executadas como esperado.
Mantenha o servidor local em execução enquanto testa o webhook.
Encaminhar webhooks
-
Se você ainda não tiver o smee-client instalado, execute o seguinte comando no seu terminal:
Shell npm install --global smee-client
npm install --global smee-client -
Para receber webhooks encaminhados de smee.io, execute o seguinte comando em seu terminal. Substitua pela URL de proxy de webhook anterior. Substitua pelo caminho ou rota que o servidor processará. Substitua pela porta em que o servidor local está escutando.
Shell smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
smee --url WEBHOOK_PROXY_URL --path /PATH --port PORTA saída deve ser similar a essa, com os espaços reservados , e substituídos pelos valores especificados:
Shell Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH Connected WEBHOOK_PROXY_URL
Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH Connected WEBHOOK_PROXY_URLAgora, quando a URL de proxy de webhook (URL do smee.io) receber uma entrega de webhook do GitHub, o smee encaminhará a entrega de webhook para o servidor local.
-
Deixe ele ativo enquanto você testa seu webhook. Quando quiser parar de encaminhar webhooks, use CtrlC.
Neste ponto, tanto o servidor local quanto o encaminhamento do smee devem estar em execução.
Disparar uma entrega de webhook
Acione seu webhook. Por exemplo, se for testar um webhook de repositório que está inscrito no evento , abra um problema no repositório em que o webhook está configurado.
Você também pode reenviar uma entrega anterior de webhook. Para saber mais, confira AUTOTITLE.
Verificar entrega
Você pode verificar se o GitHub enviou uma entrega de webhook, se o smee recebeu e encaminhou a entrega e se o servidor local processou a entrega.
Verificar se o GitHub enviou uma entrega
Verifique o GitHub para confirmar se um envio de webhook foi realizado. Para saber mais, confira AUTOTITLE.
Se uma entrega de webhook não foi realizada, ou se ela foi enviada, mas o GitHub indica que a entrega falhou, consulte o guia de solução de problemas para ajudar a diagnosticar o problema. Para saber mais, confira AUTOTITLE.
Verifique se o Smee recebeu a entrega do webhook
Navegue até a sua URL de webhook proxy no smee.io. Você deverá ver um evento correspondente ao que você acionou ou reenviou. Isso indica que o GitHub enviou com êxito uma entrega de webhook ao URL do conteúdo que você especificou.
Se não encontrar a entrega de webhook no smee.io, verifique se o webhook está usando a URL de proxy do webhook (URL do smee.io).
Verificar se o smee encaminhou a entrega de webhook
Na janela do terminal em que você executou, você deverá ver algo semelhante a . Isso indica que o smee encaminhou com êxito seu webhook ao servidor local.
Se não achar isso, confira se o cliente do smee e o servidor local estão em execução. Esses processos devem estar em execução em duas janelas de terminal separadas.
Cheque também se há erros nas janelas do terminal em que você está executando o cliente do smee e o servidor local. Os erros específicos dependem de como o código para receber webhooks é escrito. Para ver exemplos, confira AUTOTITLE.
Verificar se o servidor local processou a entrega de webhook
Neste ponto, você já verificou que GitHub enviou uma entrega de webhook e que o smee encaminhou a entrega para o servidor local. Agora, você deve verificar se o código processou a entrega de webhook como esperado. Como fazer isso depende de como o código para receber webhooks é escrito. Para ver exemplos, confira AUTOTITLE.