Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-03-26. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

处理失败的 Webhook 交付

GitHub 不会自动重新交付失败的 Webhook 交付,但用户可以手动或通过编写代码来处理失败的交付。

About webhook delivery failures

A webhook delivery can fail for multiple reasons. For example, if your server is down or takes longer than 30 seconds to respond, GitHub will record the delivery as a failure.

GitHub does not automatically redeliver failed deliveries.

Handling delivery failures

You can manually redeliver failed deliveries. For more information, see "Redelivering webhooks."

You can also write a script that checks for failed deliveries and attempts to redeliver any that failed. Your script should run on a schedule and do the following:

  1. Use the GitHub REST API to fetch data about any webhook deliveries that were attempted since the last time that your script ran. For more information, see "REST API endpoints for repository webhooks," "REST API endpoints for organization webhooks," and "REST API endpoints for GitHub App webhooks."

    There are no API endpoints to get data about global webhook deliveries.

  2. Look at the fetched data to see if any deliveries failed. The data for a failed delivery will have a status value that is not OK.

  3. Use the GitHub REST API to redeliver any deliveries that failed. For more information, see "REST API endpoints for repository webhooks," "REST API endpoints for organization webhooks," and "REST API endpoints for GitHub App webhooks."

For example scripts, see:

If a webhook delivery fails repeatedly, you should investigate the cause. Each failed delivery will give a reason for failure. For more information, see "Troubleshooting webhooks."