GitLab webhook 事件 - AWS CodeBuild

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

GitLab webhook 事件

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

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

事件

對於 GitLab,您可以選擇下列一或多個事件:PUSHPULL_REQUEST_CREATEDPULL_REQUEST_UPDATEDPULL_REQUEST_MERGEDPULL_REQUEST_REOPENED、、 PULL_REQUEST_CLOSED RELEASEDWORKFLOW_JOB_QUEUED

Webhook 的事件類型位在 X-GitLab-Event 欄位的標頭中。下表顯示 X-GitLab-Event 標頭值如何映射到事件類型。對於 Merge Request Hook Webhook 事件,承載object_atttributes.action將包含合併請求類型的其他資訊。

X-GitLab-Event 標頭值 object_atttributes.action 事件類型
Push Hook

N/A

PUSH
Merge Request Hook

開啟

PULL_REQUEST_CREATED
Merge Request Hook

update

PULL_REQUEST_UPDATED
Merge Request Hook

關閉、合併

PULL_REQUEST_MERGED
Merge Request Hook

重新開啟

PULL_REQUEST_REOPENED
Merge Request Hook

關閉

PULL_REQUEST_CLOSED
Release Hook

建立、更新

RELEASED
Job Hook

N/A

WORKFLOW_JOB_QUEUED

對於 PULL_REQUEST_MERGED,如果提取請求與壁式策略合併,且提取請求分支已關閉,則原始提取請求遞交將不再存在。在此情況下,CODEBUILD_WEBHOOK_MERGE_COMMIT環境變數包含壓縮合併遞交的識別符。

一或多個選用篩選條件

使用規則表達式來指定篩選條件。若要讓事件觸發組建,與其相關聯的群組中的每個篩選條件都必須評估為 true。

ACTOR_ACCOUNT_IDACTOR_ID 主控台中的)

當 GitLab 帳戶 ID 符合規則表達式模式時,Webhook 事件會觸發組建。這個值會出現在 Webhook 篩選條件承載之 actor 物件的 account_id 屬性中。

HEAD_REF

Webhook 事件會在頭部參考符合規則表達式模式 (例如 refs/heads/branch-namerefs/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 會觸發建置。

注意

您可以在 GitLab 儲存庫的 Webhook 設定中找到 webhook 承載。