Skip to main content

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

处理失败的 Webhook 交付

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

关于 Webhook 交付失败

Webhook 交付可能因多种原因而失败。 例如,若服务器关闭或耗时超过 30 秒才进行响应,GitHub 会将交付记录为失败。

GitHub 不会自动重新交付失败的交付。

处理交付失败

可以手动重新交付失败的交付。 有关详细信息,请参阅“重新传递 Webhook”。

也可以编写脚本来检查失败的交付并尝试重新交付任何失败的交付。 脚本应按计划运行并执行以下操作:

  1. 使用 GitHub REST API,提取自上次运行脚本以来尝试执行的任何 Webhook 交付的数据。 有关详细信息,请参阅“存储库 Webhook 的 REST API 终结点”、“适用于组织 Webhook 的 REST API 终结点”和“GitHub App Webhook 的 REST API 终结点”。

    没有 API 终结点可用于获取有关全局 Webhook 交付的数据。

  2. 查看提取的数据,检查是否有失败的交付。 失败交付的数据的 status 值不是 OK

  3. 使用 GitHub REST API 重新交付任何失败的交付。 有关详细信息,请参阅“存储库 Webhook 的 REST API 终结点”、“适用于组织 Webhook 的 REST API 终结点”和“GitHub App Webhook 的 REST API 终结点”。

有关示例脚本,请参阅:

如果 Webhook 交付反复失败,则应调查原因。 每个失败交付都要给出失败的原因。 有关详细信息,请参阅“Webhook 疑难解答”。