Sobre erros na entrega de webhook
Uma entrega de webhook pode falhar por vários motivos. Por exemplo, se o servidor estiver inativo ou demorar mais de 30 segundos para responder, GitHub registrará a entrega como uma falha.
GitHub não reenvia automaticamente entregas com falha.
Gerenciamento de falhas de entrega
É 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 GitHub API REST para buscar dados sobre as entregas de webhook que foram tentadas desde a última vez em que o script foi executado. 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 para GitHub App webhooks.
Não há pontos de extremidade de API para obter dados sobre entregas globais de webhook.
- Observe os dados obtidos para verificar se houve falha em alguma entrega. Os dados de uma entrega com falha terão um valor de
statusque é diferente deOK. - Use a GitHub API REST para resgatar 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 para GitHub App webhooks.
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.