

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

# Bitbucket Webhook 事件
<a name="bitbucket-webhook"></a>

您可以使用 Webhook 篩選群組來指定哪些 Bitbucket Webhook 事件會觸發組建。例如，您可以指定僅針對特定分支的變更觸發組建。

您可以建立一或多個 Webhook 篩選群組來指定哪些 Webhook 事件會觸發組建。如果任何篩選條件群組評估為 true，則會觸發組建，這會在群組中的所有篩選條件評估為 true 時發生。當您建立篩選群組時，您可以指定這些項目：

**事件**  
對於 Bitbucket，您可以選擇下列一或多個事件：  
+ `PUSH`
+ `PULL_REQUEST_CREATED`
+ `PULL_REQUEST_UPDATED`
+ `PULL_REQUEST_MERGED`
+ `PULL_REQUEST_CLOSED`
Webhook 的事件類型位在 `X-Event-Key` 欄位的標頭中。下表顯示 `X-Event-Key` 標頭值如何映射到事件類型。  
如果您建立會使用 `PULL_REQUEST_MERGED` 事件類型的 Webhook 篩選群組，則必須在您的 Bitbucket Webhook 設定中啟用 `merged` 事件。如果您建立使用 `declined`事件類型的 Webhook 篩選條件群組，您還必須在 Bitbucket Webhook 設定中啟用`PULL_REQUEST_CLOSED`事件。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/codebuild/latest/userguide/bitbucket-webhook.html)
對於 `PULL_REQUEST_MERGED`，如果提取請求與 squash 策略合併，且提取請求分支已關閉，則原始提取請求遞交不再存在。在此情況下，`CODEBUILD_WEBHOOK_MERGE_COMMIT`環境變數會包含壓縮合併遞交的識別符。

**一或多個選用篩選條件**  
使用規則表達式來指定篩選條件。若要讓事件觸發組建，與其相關聯的群組中的每個篩選條件都必須評估為 true。    
`ACTOR_ACCOUNT_ID` (`ACTOR_ID` 主控台中的 )  
當 Bitbucket 帳戶 ID 符合規則表達式模式時，Webhook 事件會觸發組建。這個值會出現在 Webhook 篩選條件承載之 `actor` 物件的 `account_id` 屬性中。  
`HEAD_REF`  
當頭部參考符合規則表達式模式 （例如 `refs/heads/branch-name`和 ) 時，Webhook 事件會觸發組建`refs/tags/tag-name`。`HEAD_REF` 篩選條件會評估分支或標籤的 Git 參考名稱。分支或標籤名稱會出現在 Webhook 承載 `push` 物件之 `new` 物件的 `name` 欄位中。針對提取請求事件，分支名稱會出現在 Webhook 承載 `source` 物件之 `branch` 物件的 `name` 欄位中。  
`BASE_REF`  
當基本參考符合規則表達式模式時，Webhook 事件會觸發組建。`BASE_REF` 篩選條件僅適用於提取請求事件 (例如 `refs/heads/branch-name`)。`BASE_REF` 篩選條件會評估分支的 Git 參考名稱。分支名稱會出現在 Webhook 承載 `destination` 物件之 `branch` 物件的 `name` 欄位中。  
`FILE_PATH`  
當變更的檔案路徑符合規則表達式模式時，Webhook 會觸發組建。  
`COMMIT_MESSAGE`  
當前端遞交訊息符合規則表達式模式時，Webhook 會觸發組建。  
`WORKFLOW_NAME`  
當工作流程名稱符合規則表達式模式時，Webhook 會觸發組建。

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

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