Skip to main content

Como lidar com falhas de entrega de webhook

GitHub não faz o resgate automático de entregas de webhook com falha, mas você pode lidar com entregas com falha manualmente ou escrevendo código.

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:

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

  1. 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 que é diferente de OK.
  2. 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:

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.