关于 Webhook 传递失败
Webhook 传递失败可能有各种原因。例如,如果您的服务器宕机或响应时间超过 10 秒,GitHub 将记录该传递为失败。
GitHub 不会自动重新传递失败的传递。
处理传递失败
您可以手动重新传递失败的传递。有关详细信息,请参阅“重新传递 Webhooks”。
您还可以编写一个脚本来检查失败的传递,并尝试重新传递任何失败的传递。您的脚本应按计划运行并执行以下操作:
-
使用 GitHub REST API 获取自上次脚本运行以来尝试过的任何 Webhook 传递的数据。有关详细信息,请参阅“仓库 Webhook 的 REST API 端点”、“组织 Webhook 的 REST API 端点”和“GitHub App Webhook 的 REST API 端点”。
没有 API 端点可以获取有关 GitHub Marketplace Webhook 或 GitHub Sponsors Webhook 的数据。
-
查看获取的数据,查看是否有任何传递失败。失败传递的数据将具有非
OK
的status
值。 -
使用 GitHub REST API 重新传递任何失败的传递。有关详细信息,请参阅“仓库 Webhook 的 REST API 端点”、“组织 Webhook 的 REST API 端点”和“GitHub App Webhook 的 REST API 端点”。
有关示例脚本,请参阅:
如果 Webhook 传递反复失败,则应调查其原因。每个失败的传递都会说明失败的原因。有关详细信息,请参阅“排查 Webhook 问题”。