Skip to main content

Enterprise Server 3.15 目前作为候选发布提供。

处理失败的 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 疑难解答”。