Skip to main content

Como lidar com falhas de entrega de webhook

GitHub does not automatically redeliver failed webhook deliveries, but you can handle failed deliveries manually or by writing code.

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:

  1. 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.

  2. Observe os dados obtidos para verificar se houve falha em alguma entrega. Os dados de uma entrega com falha terão um valor de statusdiferente de OK.

  3. 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:

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.