

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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.aws.amazon.com/zh_tw/codebuild/latest/userguide/github-webhook.html)
 `PULL_REQUEST_REOPENED` 事件類型僅能搭配 GitHub 和 GitHub Enterprise Server 使用。`RELEASED` 和 `PRERELEASED`事件類型只能與 GitHub 搭配使用。如需 `WORKFLOW_JOB_QUEUED` 的詳細資訊，請參閱[教學課程：設定 CodeBuild 託管的 GitHub 動作執行器](action-runner.md)。

**一或多個選用篩選條件**  
使用規則表達式來指定篩選條件。若要讓事件觸發組建，與其相關聯的群組中的每個篩選條件都必須評估為 true。    
`ACTOR_ACCOUNT_ID` (`ACTOR_ID` 主控台中的 )  
當 GitHub 或 GitHub Enterprise Server 帳戶 ID 符合規則表達式模式時，Webhook 事件會觸發組建。此值位於 Webhook 承載之 `sender` 物件的 `id` 屬性中。  
`HEAD_REF`  
當頭部參考符合規則表達式模式 （例如， `refs/heads/branch-name`或 ) 時，Webhook 事件會觸發組建`refs/tags/tag-name`。若為推送事件，參考名稱位在 Webhook 承載的 `ref` 屬性中。若為提取請求事件，分支名稱位在 Webhook 承載之 `head` 物件的 `ref` 屬性中。  
`BASE_REF`  
當基本參考符合規則表達式模式 （例如，) 時，Webhook 事件會觸發組建`refs/heads/branch-name`。`BASE_REF` 篩選條件僅可搭配提取請求事件使用。分支名稱位在 Webhook 承載之 `base` 物件的 `ref` 屬性中。  
`FILE_PATH`  
當變更的檔案路徑符合規則表達式模式時，Webhook 會觸發組建。`FILE_PATH` 篩選條件可以用於 GitHub 推送和提取請求事件和 GitHub Enterprise Server 推送事件。它不能與 GitHub Enterprise Server 提取請求事件一起使用。  
`COMMIT_MESSAGE`  
當前端遞交訊息符合規則表達式模式時，Webhook 會觸發組建。`COMMIT_MESSAGE` 篩選條件可以用於 GitHub 推送和提取請求事件和 GitHub Enterprise Server 推送事件。它不能與 GitHub Enterprise Server 提取請求事件一起使用。  
`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` 篩選條件可與 GitHub Actions 工作流程任務佇列請求事件搭配使用。

**注意**  
您可以在您 GitHub 儲存庫的 Webhook 設定中找到 Webhook 承載。

**Topics**
+ [篩選 GitHub Webhook 事件 (主控台)](github-webhook-events-console.md)
+ [篩選 GitHub Webhook 事件 (開發套件)](github-webhook-events-sdk.md)
+ [篩選 GitHub Webhook 事件 (CloudFormation)](github-webhook-events-cfn.md)