本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GitHub webhook 事件
您可以使用 webhook 过滤器组来指定哪些 GitHub webhook 事件触发构建。例如,您可以指定仅在对特定分支做出更改时触发构建。
您可以创建一个或多个 Webhook 筛选条件组,来指定哪些 Webhook 事件触发构建。如果任何筛选条件组评估为 true(即组中的所有筛选条件都评估为 true),则会触发构建。创建筛选条件组时,应指定:
- 事件
-
对于 GitHub,您可以选择以下一个或多个事件:
PUSH、PULL_REQUEST_CREATED、PULL_REQUEST_UPDATED、PULL_REQUEST_REOPENED、PULL_REQUEST_MERGED、PULL_REQUEST_CLOSEDRELEASED、PRERELEASED、和WORKFLOW_JOB_QUEUED。webhook 事件类型在 webhook 负载中的X-GitHub-Event标头中。在X-GitHub-Event标头中,您可能会看到pull_request或push。对于拉取请求事件,类型在 webhook 事件负载的action字段中。下表显示了X-GitHub-Event标头值和 webhook 拉取请求负载action字段值如何映射到可用的事件类型。X-GitHub-Event标头值Webhook 事件负载 action值事件类型 pull_requestopenedPULL_REQUEST_CREATEDpull_requestreopenedPULL_REQUEST_REOPENEDpull_requestsynchronizePULL_REQUEST_UPDATEDpull_requestclosed,并且merged字段为truePULL_REQUEST_MERGEDpull_requestclosed,并且merged字段为falsePULL_REQUEST_CLOSEDpushn/a PUSHreleasereleased RELEASEDreleaseprereleased PRERELEASEDworkflow_jobqueued WORKFLOW_JOB_QUEUED注意
该
PULL_REQUEST_REOPENED事件类型只能 GitHub与 GitHub 企业服务器一起使用。RELEASED和PRERELEASED事件类型 GitHub 只能与一起使用。有关WORKFLOW_JOB_QUEUED的更多信息,请参阅教程:配置 CodeBuild-hosted GitHub 操作运行器。 - 一个或多个可选筛选条件
-
使用正则表达式来指定筛选条件。对于触发构建的事件,组内与其关联的每个筛选条件都必须评估为 True。
CodeBuild 使用RE2正则表达式语法评估过滤器模式,该语法不支持向前看、向后看、反向引用或原子组。有关更多信息,请参阅 GitHub 网站上的RE2语法
页面。 ACTOR_ACCOUNT_ID(控制台中的ACTOR_ID)-
当 GitHub 或 GitHub企业服务器账户 ID 匹配正则表达式模式时,webhook 事件会触发构建。此值在 webhook 负载中的
sender对象的id属性中。 HEAD_REF-
当头部引用与正则表达式模式(例如
refs/heads/branch-name和refs/tags/tag-name)匹配时,Webhook 事件会触发构建。对于推送事件,引用名称在 Webhook 负载中的ref属性中。对于拉取请求事件,分支名称在 Webhook 负载中的head对象的ref属性中。 BASE_REF-
当基本引用与正则表达式模式(例如
refs/heads/branch-name)匹配时,Webhook 事件会触发构建。BASE_REF筛选器只能与拉取请求事件一起使用。分支名称在 webhook 负载中的base对象的ref属性中。 FILE_PATH-
当更改的文件的路径与正则表达式模式匹配时,Webhook 会触发构建。
FILE_PATH过滤器可用于 GitHub 推送和拉取请求事件以及 GitHub企业服务器推送事件。它不能与 GitHub企业服务器拉取请求事件一起使用。注意
根据推送或拉取请求中的前 100 个更改的文件对
FILE_PATH过滤器进行评估。为确保按预期应用过滤器,请将更改的文件数量保持在该限制范围内。对于拉取请求事件,我们还建议使用拉取请求构建策略来控制哪些拉取请求可以启动构建。 COMMIT_MESSAGE-
当 HEAD 提交消息与正则表达式模式匹配时,Webhook 会触发构建操作。
COMMIT_MESSAGE过滤器可用于 GitHub 推送和拉取请求事件以及 GitHub企业服务器推送事件。它不能与 GitHub企业服务器拉取请求事件一起使用。 TAG_NAME-
当发布的标签名称与正则表达式模式匹配时,webhook 会触发构建操作。
TAG_NAME过滤器可用于 GitHub 已发布和预发布的请求事件。 RELEASE_NAME-
当发布名称与正则表达式模式匹配时,webhook 会触发构建操作。
RELEASE_NAME过滤器可用于 GitHub 已发布和预发布的请求事件。 REPOSITORY_NAME-
当存储库名称与正则表达式模式匹配时,webhook 会触发构建操作。
REPOSITORY_NAME过滤器只能用于 GitHub 全球或组织 webhook。 ORGANIZATION_NAME-
当组织名称与正则表达式模式匹配时,webhook 会触发构建。
ORGANIZATION_NAME过滤器只能用于 GitHub 全局网络挂钩。 WORKFLOW_NAME-
当工作流名称与正则表达式模式匹配时,Webhook 会触发构建操作。
WORKFLOW_NAME过滤器可用于 Act GitHub ions 工作流任务队列请求事件。
注意
你可以在仓库的 webhook 设置中找到 webhook 负载。 GitHub