跳至主要内容

创建 Webhook

您可以创建 Webhook 来订阅 GitHub 上发生的特定事件。

关于创建 Webhook

您可以创建 Webhook 来订阅 GitHub 上发生的特定事件,这些事件可能发生在仓库、组织、GitHub Marketplace 帐户、GitHub Sponsors 帐户或 GitHub App 中。

有关不同类型 Webhook 的更多信息,请参阅“Webhook 类型”。

有关 Webhook 事件的完整列表,请参阅“Webhook 事件和有效负载”。

创建仓库 Webhook

您可以创建 Webhook 来订阅特定仓库中发生的事件。您必须是仓库所有者或在仓库中具有管理员访问权限才能在该仓库中创建 Webhook。

您可以使用 GitHub 网页界面或 REST API 创建仓库 Webhook。有关使用 REST API 创建仓库 Webhook 的更多信息,请参阅“仓库 Webhook 的 REST API 端点”。

  1. 在 GitHub 上,导航到仓库的主页。

  2. 在您的仓库名称下,单击 **设置**。如果您看不到“设置”选项卡,请选择****下拉菜单,然后单击**设置**。

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. 在左侧边栏中,单击** Webhook**。

  4. 单击**添加 Webhook**。

  5. 在“有效负载 URL”下,键入您要接收有效负载的 URL。

  6. 您可以选择“内容类型”下拉菜单,然后单击一个数据格式以接收 Webhook 有效负载。

    • **application/json** 将直接将 JSON 有效负载作为 `POST` 请求的主体进行传递。
    • **application/x-www-form-urlencoded** 将 JSON 有效负载作为名为 `payload` 的表单参数发送。
  7. 您可以在“密钥”下键入一个字符串作为 `secret` 密钥。您应该选择一个具有高熵的随机文本字符串。您可以使用 Webhook 密钥将传入请求限制为仅来自 GitHub 的请求。有关更多信息,请参阅“验证 Webhook 交付”。

  8. 在“您想触发此 Webhook 的哪些事件?”下,选择您要接收的 Webhook 事件。您只应订阅您需要的 Webhook 事件。

  9. 如果您选择**让我选择单个事件**,请选择要触发 Webhook 的事件。

  10. 要在添加配置后立即激活 Webhook,请选择**活动**。

  11. 单击**添加 Webhook**。

创建新的 Webhook 后,GitHub 将向您发送一个简单的 `ping` 事件,让您知道您已正确设置了 Webhook。有关更多信息,请参阅“Webhook 事件和有效负载”。

创建组织 Webhook

您可以创建 Webhook 来订阅特定组织中发生的事件。您必须是组织所有者才能在该组织中创建 Webhook。

您可以使用 GitHub 网页界面或 REST API 创建组织 Webhook。有关使用 REST API 创建组织 Webhook 的更多信息,请参阅“组织 Webhook 的 REST API 端点”。

  1. 在 GitHub 上任何页面的右上角,单击您的个人资料照片。
  2. 单击**您的组织**。
  3. 在组织的右侧,单击**设置**。
  4. 在左侧边栏中,单击** Webhook**。
  5. 单击**添加 Webhook**。
  6. 在“有效负载 URL”下,键入您要接收有效负载的 URL。
  7. 您可以选择“内容类型”下拉菜单,然后单击一个数据格式以接收 Webhook 有效负载。
    • **application/json** 将直接将 JSON 有效负载作为 `POST` 请求的主体进行传递。
    • **application/x-www-form-urlencoded** 将 JSON 有效负载作为名为 `payload` 的表单参数发送。
  8. 您可以在“密钥”下键入一个字符串作为 `secret` 密钥。您应该选择一个具有高熵的随机文本字符串。您可以使用 Webhook 密钥将传入请求限制为仅来自 GitHub 的请求。有关更多信息,请参阅“验证 Webhook 交付”。
  9. 在“您想触发此 Webhook 的哪些事件?”下,选择您要接收的 Webhook 类型。您只应订阅您需要的 Webhook 事件。
  10. 如果您选择**让我选择单个事件**,请选择将触发 Webhook 的事件。
  11. 要在添加配置后立即激活 Webhook,请选择**活动**。
  12. 单击**添加 Webhook**。

创建新的 Webhook 后,GitHub 将向您发送一个简单的 `ping` 事件,让您知道您已正确设置了 Webhook。有关更多信息,请参阅“Webhook 事件和有效负载”。

创建 GitHub Marketplace Webhook

您可以创建 Webhook 来订阅与您在 GitHub Marketplace 中发布的应用相关的事件。只有应用的所有者或拥有该应用的组织的应用管理员才能创建 GitHub Marketplace Webhook。

  1. 导航到您的GitHub Marketplace 列表页
  2. 在您要查看 Webhook 交付的 GitHub Marketplace 列表旁边,单击**管理列表**。
  3. 在侧边栏中,单击**Webhook**。
  4. 在“有效负载 URL”下,键入您要接收有效负载的 URL。
  5. 您可以选择“内容类型”下拉菜单,然后单击一个数据格式以接收 Webhook 有效负载。
    • **application/json** 将直接将 JSON 有效负载作为 `POST` 请求的主体进行传递。
    • **application/x-www-form-urlencoded** 将 JSON 有效负载作为名为 `payload` 的表单参数发送。
  6. 您可以在“密钥”下键入一个字符串作为 `secret` 密钥。您应该选择一个具有高熵的随机文本字符串。您可以使用 Webhook 密钥将传入请求限制为仅来自 GitHub 的请求。有关更多信息,请参阅“验证 Webhook 交付”。
  7. 要在添加配置后立即激活 Webhook,请选择**活动**。
  8. 单击**创建 Webhook**。

创建新的 Webhook 后,GitHub 将向您发送一个简单的 `ping` 事件,让您知道您已正确设置了 Webhook。有关更多信息,请参阅“Webhook 事件和有效负载”。

创建 GitHub Sponsors Webhook

您可以创建 Webhook 来订阅与您的赞助相关的事件。只有赞助帐户的所有者才能为该帐户创建赞助 Webhook。有关赞助 Webhook 订阅的事件的更多信息,请参阅`sponsorship` Webhook 事件

  1. 在任何页面的右上角,单击您的个人资料照片,然后单击**您的赞助者**。
  2. 在您要为其创建 Webhook 的帐户旁边,单击**仪表板**。
  3. 在左侧边栏中,单击**Webhook**。
  4. 单击**添加 Webhook**。
  5. 在“有效负载 URL”下,键入您要接收有效负载的 URL。
  6. 您可以选择“内容类型”下拉菜单,然后单击一个数据格式以接收 Webhook 有效负载。
    • **application/json** 将直接将 JSON 有效负载作为 `POST` 请求的主体进行传递。
    • **application/x-www-form-urlencoded** 将 JSON 有效负载作为名为 `payload` 的表单参数发送。
  7. 您可以在“密钥”下键入一个字符串作为 `secret` 密钥。您应该选择一个具有高熵的随机文本字符串。您可以使用 Webhook 密钥将传入请求限制为仅来自 GitHub 的请求。有关更多信息,请参阅“验证 Webhook 交付”。
  8. 要在添加配置后立即激活 Webhook,请选择**活动**。
  9. 单击**创建 Webhook**。

为 GitHub App 创建 Webhook

GitHub App 的所有者可以订阅应用的 Webhook 事件,以便在发生某些事件时接收通知。如果组织为组织拥有的 GitHub App 指定了任何应用管理员,则应用管理员也可以订阅应用的 Webhook 事件。有关更多信息,请参阅“使用 GitHub App 的 Webhook”。

每个 GitHub App 都有一个 Webhook。您可以在注册 GitHub App 时配置 Webhook,也可以编辑现有 GitHub App 注册的 Webhook 配置。

有关在注册 GitHub App 时配置 Webhook 的更多信息,请参阅“注册 GitHub App”。

要为现有 GitHub App 注册配置 Webhook

  1. 在 GitHub 上任何页面的右上角,单击您的个人资料照片。

  2. 导航到您的帐户设置。

    • 对于个人帐户拥有的应用,请单击**设置**。
    • 对于组织拥有的应用
      1. 单击**您的组织**。
      2. 在组织的右侧,单击**设置**。
  3. 在左侧边栏中,单击** 开发者设置**。

  4. 在左侧边栏中,单击**GitHub Apps**。

  5. 在您要为其配置 Webhook 的 GitHub App 旁边,单击**编辑**。

  6. 在“Webhook”下,选择**活动**。

  7. 在“Webhook URL”下,键入您要接收有效负载的 URL。

  8. 您可以在“Webhook 密钥”下键入一个字符串作为 `secret` 密钥。您应该选择一个具有高熵的随机文本字符串。您可以使用 Webhook 密钥将传入请求限制为仅来自 GitHub 的请求。有关更多信息,请参阅“验证 Webhook 交付”。

  9. 单击**保存更改**。

  10. 在侧边栏中,点击权限与事件

  11. 您可以为 GitHub App 注册选择的特定 webhook 事件取决于您为您的 App 选择的权限类型。您首先需要选择您希望您的 App 拥有的权限,然后您可以将您的 App 订阅到与该权限集相关的 webhook 事件。

    在“仓库权限”、“组织权限”和“账户权限”部分下,选择您的 App 将订阅的事件所需的权限。更多信息,请参见“为 GitHub App 选择权限”。有关更改权限时需要考虑的事项的更多信息,请参见“修改 GitHub App 注册”。

  12. 在“订阅事件”下,选择您希望您的 GitHub App 收到的 webhook 事件。

  13. 单击**保存更改**。

您还可以使用 REST API 为 GitHub App 创建 webhook。更多信息,请参见“GitHub App webhook 的 REST API 端点”。

进一步阅读