跳至主要内容

使用 GitHub CLI 转发 webhook 进行测试

您可以使用 GitHub CLI 在开发环境中测试 webhook,无需端口转发或第三方工具的复杂性。

关于使用 GitHub CLI 接收 webhook

当您对集成代码进行修改时,在本地环境运行代码可以让您快速测试和迭代,而无需部署代码。您可以使用 GitHub CLI 将 webhook 转发到本地环境。

GitHub CLI 中的 webhook 转发仅适用于仓库和组织的 webhook。如果您想在本地测试其他类型的 webhook,需要手动完成。更多信息,请参阅 测试 webhook

警告

Webhook 转发仅用于测试和开发期间。它不支持在生产环境中处理真实 webhook。

使用 GitHub CLI 接收 webhook

注意

要了解更多关于 GitHub CLI 的信息,请参阅 关于 GitHub CLI

  1. 要安装 GitHub CLI 扩展以启用 webhook 转发,请使用 extension install 子命令。

    gh extension install cli/gh-webhook
    
  2. 如果您想转发组织 webhook,请在 GitHub CLI 登录时添加 admin:org_hook 权限范围,以获得所需的权限。

    gh auth refresh --scopes admin:org_hook
    
  3. 在本地启动您的应用程序,并记录其接收 webhook 的 URL。本指南假设您的应用程序在 https://:3000/webhook 上监听 webhook 事件。

  4. 要设置将 webhook 发送到您的应用程序,请运行 webhook forward 子命令。用您的仓库名称替换 REPOSITORY,例如 monalisa/octocat。用逗号分隔的事件列表替换 EVENTS,例如 issues,pull_request。用本地 URL 替换 URL,即应用程序期望接收 webhook 的地址,例如 "https://:3000/webhook"。如果要监听组织 webhook 而非仓库 webhook,请将 --repo 参数替换为 --org 参数,例如 --org="octo-org"

    gh webhook forward --repo=REPOSITORY --events=EVENTS --url=URL
    

让该命令在后台持续运行。它会接收指定仓库的所有指定事件,并将其转发到您在指定 URL 上运行的 webhook 处理程序。

注意

每个仓库和组织一次只能有一个人使用 webhook 转发。如果您尝试设置 webhook 转发时,已有其他人正在使用该组织或仓库,您将收到 Hook already exists 错误。

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