{"meta":{"title":"Testar webhooks","intro":"Saiba como testar os webhooks e o código que lida com as entregas de webhook.","product":"Webhooks","breadcrumbs":[{"href":"/pt/webhooks","title":"Webhooks"},{"href":"/pt/webhooks/testing-and-troubleshooting-webhooks","title":"Teste e solução de problemas de webhooks"},{"href":"/pt/webhooks/testing-and-troubleshooting-webhooks/testing-webhooks","title":"Testar webhooks"}],"documentType":"article"},"body":"# Testar webhooks\n\nSaiba como testar os webhooks e o código que lida com as entregas de webhook.\n\n## Sobre como testar os webhooks\n\nVocê pode testar o envio de webhooks. Isso permitirá que você verifique se GitHub envia um webhook em resposta a um evento que você espera que acione esse envio.\n\nVocê 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.\n\n## Testando a entrega de webhooks\n\nVocê pode disparar um evento de webhook e verificar se GitHub enviou uma entrega de webhook.\n\n1. Acione seu webhook. Por exemplo, se for testar um webhook de repositório que está inscrito no evento `issues`, abra um problema no repositório em que o webhook está configurado.\n\n   Você também pode reenviar uma entrega anterior de webhook. Para saber mais, confira [Entregar webhooks novamente](/pt/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks).\n\n   Se estiver usando um webhook de organização ou repositório, você também poderá usar a API REST para acionar o evento `ping` para o seu webhook. Se estiver usando um webhook de repositório e seu webhook estiver inscrito no evento `push`, você poderá usar a API REST para acionar um evento de teste `push` para seu webhook. Para saber mais, confira [Pontos de extremidade da API REST para webhooks de repositório](/pt/rest/repos/webhooks) e [Pontos de extremidade de API REST para webhooks da organização](/pt/rest/orgs/webhooks).\n\n2. Verifique GitHub para saber se uma entrega de webhook foi enviada. Para obter informações sobre como fazer isso para cada tipo de webhook, confira [Visualizar entregas do webhook](/pt/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries).\n\nSe uma entrega de webhook não foi enviada ou se uma entrega de webhook foi enviada, mas GitHub indica que a entrega falhou, consulte o guia de solução de problemas para ajudar a diagnosticar o problema. Para saber mais, confira [Solução de problemas de webhooks](/pt/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks).\n\n## Testando o código do webhook localmente\n\nPara testar seu código de webhook localmente no seu computador ou no Codespace, você pode usar uma URL de proxy de webhook para encaminhar webhooks de GitHub para o seu computador ou para o Codespace. Você pode usar o computador ou o codespace como servidor local para receber esses webhooks encaminhados.\n\nAs seções a seguir demonstram como usar o smee.io para fornecer uma URL de proxy de webhook e encaminhar webhooks.\n\nPara obter exemplos específicos de código e das etapas de teste, confira [Lidar com entregas de webhook](/pt/webhooks/using-webhooks/handling-webhook-deliveries).\n\n### Obter a URL de proxy de webhook\n\n1. No navegador, navegue até <https://smee.io/>.\n2. Clique em **Iniciar um novo canal**.\n3. Copie a URL completa em \"URL de Proxy de Webhook\". Você usará esse URL nas etapas de configuração a seguir.\n\n### Configurar um webhook para usar a URL de proxy do webhook\n\nConfigure o webhook para usar a URL de proxy do webhook mencionada acima. Para saber mais, confira [Criação de webhooks](/pt/webhooks/using-webhooks/creating-webhooks) e [Editando webhooks](/pt/webhooks/using-webhooks/editing-webhooks).\n\nAgora, GitHub enviará entregas de webhook para essa URL.\n\n### Iniciar um servidor local\n\nNo 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 [Lidar com entregas de webhook](/pt/webhooks/using-webhooks/handling-webhook-deliveries).\n\nÉ 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.\n\nTambém pode ser útil adicionar instruções de log para que você possa verificar se as etapas do código foram executadas como esperado.\n\nMantenha o servidor local em execução enquanto testa o webhook.\n\n### Encaminhar webhooks\n\n1. Se você ainda não tiver o [smee-client](https://www.npmjs.com/package/smee-client) instalado, execute o seguinte comando no seu terminal:\n\n   ```shell copy\n   npm install --global smee-client\n   ```\n\n2. Para receber webhooks encaminhados de smee.io, execute o seguinte comando em seu terminal. Substitua `WEBHOOK_PROXY_URL` pela URL do proxy de webhook obtida anteriormente. Substitua `PATH` pelo caminho ou rota que o servidor processará. Substitua `PORT` pela porta em que o servidor local está escutando.\n\n   ```shell copy\n   smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT\n   ```\n\n   A saída deve ser parecida com esta, com os marcadores de posição `WEBHOOK_PROXY_URL`, `PORT` e `PATH` substituídos pelos valores especificados:\n\n   ```shell copy\n   Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH\n   Connected WEBHOOK_PROXY_URL\n   ```\n\n   Agora, quando a URL do proxy de webhook (URL do smee.io) receber uma entrega de webhook de GitHub, o smee a encaminhará para o servidor local.\n\n3. Deixe ele ativo enquanto você testa seu webhook. Quando quiser parar de encaminhar webhooks, use <kbd>Ctrl</kbd>+<kbd>C</kbd>.\n\nNeste ponto, tanto o servidor local quanto o encaminhamento do smee devem estar em execução.\n\n### Disparar uma entrega de webhook\n\nAcione seu webhook. Por exemplo, se for testar um webhook de repositório que está inscrito no evento `issues`, abra um problema no repositório em que o webhook está configurado.\n\nVocê também pode reenviar uma entrega anterior de webhook. Para saber mais, confira [Entregar webhooks novamente](/pt/webhooks/testing-and-troubleshooting-webhooks/redelivering-webhooks).\n\n### Verificar entrega\n\nVocê pode verificar se GitHub enviou um webhook, se o smee recebeu e encaminhou a entrega e se o seu servidor local processou a entrega do webhook.\n\n#### Verificar se GitHub enviou uma entrega\n\nVerifique GitHub para saber se uma entrega de webhook foi enviada. Para saber mais, confira [Visualizar entregas do webhook](/pt/webhooks/testing-and-troubleshooting-webhooks/viewing-webhook-deliveries).\n\nSe uma entrega de webhook não foi enviada ou se uma entrega de webhook foi enviada, mas GitHub indica que a entrega falhou, consulte o guia de solução de problemas para ajudar a diagnosticar o problema. Para saber mais, confira [Solução de problemas de webhooks](/pt/webhooks/testing-and-troubleshooting-webhooks/troubleshooting-webhooks).\n\n#### Verifique se o Smee recebeu a entrega do webhook\n\nNavegue 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 GitHub enviou com êxito uma entrega de webhook para a URL de carga especificada.\n\nSe 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).\n\n#### Verificar se o smee encaminhou a entrega de webhook\n\nNa janela do terminal em que `smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT` foi executado, você deverá ver algo como `POST http://127.0.0.1:3000/webhook - 202`. Isso indica que o smee encaminhou com êxito seu webhook ao servidor local.\n\nSe 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.\n\nCheque 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 [Lidar com entregas de webhook](/pt/webhooks/using-webhooks/handling-webhook-deliveries).\n\n#### Verificar se o servidor local processou a entrega de webhook\n\nNeste ponto, você 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 [Lidar com entregas de webhook](/pt/webhooks/using-webhooks/handling-webhook-deliveries)."}