Sobre falhas de entrega de webhook
Uma entrega de webhook pode falhar por vários motivos. Por exemplo, se o servidor estiver inoperante ou demorar mais do que 10 segundos para responder, o GitHub registrará a entrega como uma falha.
O GitHub não reenvia automaticamente entregas com falha.
Tratamento de entregas com falha
É possível reenviar as entregas com falha manualmente. Para saber mais, confira Entregar webhooks novamente.
Também é possível escrever um script que verifique a existência de entregas com falha e tente entregar novamente aquelas que falharam. O script deve ser executado em um agendamento. Faça o seguinte:
-
Use a API REST do GitHub para obter dados sobre as tentativas de entrega de webhook desde a última execução do script. Para saber mais, confira Pontos de extremidade da API REST para webhooks de repositório, Pontos de extremidade de API REST para webhooks da organização e Pontos de extremidade da API REST de webhooks do GitHub App.
Não existem pontos de extremidade de API para obter dados sobre webhooks do GitHub Marketplace ou webhooks do GitHub Sponsors.
-
Observe os dados obtidos para verificar se houve falha em alguma entrega. Os dados de uma entrega com falha terão um valor de
status
diferente deOK
. -
Use a API REST do GitHub para reenviar as entregas que falharam. Para saber mais, confira Pontos de extremidade da API REST para webhooks de repositório, Pontos de extremidade de API REST para webhooks da organização e Pontos de extremidade da API REST de webhooks do GitHub App.
Para obter exemplos de scripts, consulte:
- Reentrega automática de entregas com falha para um webhook de repositório
- Reentrega automática de entregas com falha para um webhook de organização
- Reentrega automática de entregas com falha para um webhook de aplicativo do GitHub
Se uma entrega de webhook falhar repetidamente, você deverá investigar a causa. Cada entrega malsucedida apresentará um motivo para a falha. Para saber mais, confira Solução de problemas de webhooks.