本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GitLab webhook 事件
您可以使用 Webhook 篩選條件群組來指定哪些 GitLab Webhook 事件觸發組建。例如,您可以指定 建置只會針對特定分支的變更觸發。
您可以建立一或多個 Webhook 篩選群組來指定哪些 Webhook 事件會觸發組建。如果任何篩選條件群組評估為 true,則會觸發建置,當群組中的所有篩選條件評估為 true 時,就會發生建置。當您建立篩選群組時,您可以指定這些項目:
- 事件
-
對於 GitLab,您可以選擇下列一或多個事件:
PUSH
、PULL_REQUEST_CREATED
、PULL_REQUEST_UPDATED
、PULL_REQUEST_MERGED
、PULL_REQUEST_REOPENED
、、PULL_REQUEST_CLOSED
RELEASED
和WORKFLOW_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_ID
(ACTOR_ID
主控台中的)-
當 GitLab 帳戶 ID 符合規則表達式模式時,Webhook 事件會觸發組建。這個值會出現在 Webhook 篩選條件承載之
actor
物件的account_id
屬性中。 HEAD_REF
-
Webhook 事件會在頭部參考符合規則表達式模式 (例如
refs/heads/branch-name
和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 會觸發建置。
注意
您可以在 GitLab 儲存庫的 Webhook 設定中找到 webhook 承載。