跳至主要内容

处理失败的 webhook 投递

GitHub 不会自动重新投递失败的 webhook 投递,但你可以手动处理失败的投递,或通过编写代码来处理。

本文内容

关于 webhook 投递失败

Webhook 投递可能因多种原因失败。例如,如果你的服务器宕机或响应时间超过 10 秒,GitHub 会将该投递记录为失败。

GitHub 不会自动重新投递失败的投递。

处理投递失败

你可以手动重新投递失败的投递。更多信息请参见 重新投递 webhook

你也可以编写脚本来检查失败的投递并尝试重新投递所有失败的项目。你的脚本应按计划运行,并执行以下操作:

  1. 使用 GitHub REST API 获取自上次脚本运行以来尝试的任何 webhook 投递的数据。更多信息请参见 仓库 webhook 的 REST API 端点组织 webhook 的 REST API 端点以及 GitHub App webhook 的 REST API 端点

    目前没有用于获取 GitHub Marketplace webhook 或 GitHub Sponsors webhook 数据的 API 端点。

  2. 检查获取的数据,查看是否有投递失败。失败的投递其数据中 status 字段的值将不是 OK

  3. 使用 GitHub REST API 重新投递所有失败的投递。更多信息请参见 仓库 webhook 的 REST API 端点(重新投递)组织 webhook 的 REST API 端点(重新投递)以及 GitHub App webhook 的 REST API 端点(重新投递)

示例脚本请参见

如果 webhook 投递持续失败,你应当调查其原因。每次失败的投递都会提供失败原因。更多信息请参见 排查 webhook 问题

© . This site is unofficial and not affiliated with GitHub, Inc.