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 obter mais informações, 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 obter mais informações, 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, webhooks do GitHub Sponsors ou webhooks globais.

  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 obter mais informações, 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 obter mais informações, confira "Solução de problemas de webhooks".