

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# GitHub webhook 事件
<a name="github-webhook"></a>

您可以使用 webhook 筛选器组来指定哪些 GitHub Webhook 事件会触发构建。例如，您可以指定仅在对特定分支做出更改时触发构建。

您可以创建一个或多个 Webhook 筛选条件组，来指定哪些 Webhook 事件触发构建。如果任何筛选条件组评估为 true（即组中的所有筛选条件都评估为 true），则会触发构建。创建筛选条件组时，应指定：

**事件**  
对于 GitHub，您可以选择以下一个或多个事件：`PUSH`、`PULL_REQUEST_CREATED`、`PULL_REQUEST_UPDATED`、`PULL_REQUEST_REOPENED`、`PULL_REQUEST_MERGED`、`PULL_REQUEST_CLOSED``RELEASED`、`PRERELEASED`、和`WORKFLOW_JOB_QUEUED`。webhook 事件类型在 webhook 负载中的 `X-GitHub-Event` 标头中。在 `X-GitHub-Event` 标头中，您可能会看到 `pull_request` 或 `push`。对于拉取请求事件，类型在 webhook 事件负载的 `action` 字段中。下表显示了 `X-GitHub-Event` 标头值和 webhook 拉取请求负载 `action` 字段值如何映射到可用的事件类型。      
[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/codebuild/latest/userguide/github-webhook.html)
 `PULL_REQUEST_REOPENED`事件类型只能与 GitHub和 GitHub 企业服务器一起使用。`RELEASED`和`PRERELEASED`事件类型 GitHub 只能与一起使用。有关 `WORKFLOW_JOB_QUEUED` 的更多信息，请参阅[教程：配置 CodeBuild托管的 GitHub 操作运行器](action-runner.md)。

**一个或多个可选筛选条件**  
使用正则表达式来指定筛选条件。对于触发构建的事件，组内与其关联的每个筛选条件都必须评估为 True。    
`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企业服务器拉取请求事件。  
`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 全局 webhook。  
`WORKFLOW_NAME`  
当工作流名称与正则表达式模式匹配时，Webhook 会触发构建操作。`WORKFLOW_NAME`筛选器可以用于 Acti GitHub ons 工作流程任务队列请求事件。

**注意**  
你可以在仓库的 webhook 设置中找到 webhook 有效负载。 GitHub 

**Topics**
+ [筛选 GitHub webhook 事件（控制台）](github-webhook-events-console.md)
+ [筛选 GitHub webhook 事件 (SDK)](github-webhook-events-sdk.md)
+ [筛选 GitHub webhook 事件 ()Amazon CloudFormation](github-webhook-events-cfn.md)