本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 HookWebhook 事件,承載object_atttributes.action將包含合併請求類型的其他資訊。X-GitLab-Event標頭值object_atttributes.action事件類型 Push HookN/A
PUSHMerge Request Hook開啟
PULL_REQUEST_CREATEDMerge Request Hookupdate
PULL_REQUEST_UPDATEDMerge Request Hookmerge
PULL_REQUEST_MERGEDMerge Request Hook重新開啟
PULL_REQUEST_REOPENEDMerge Request Hook關閉
PULL_REQUEST_CLOSEDRelease Hook建立、更新
RELEASEDJob HookN/A
WORKFLOW_JOB_QUEUED對於
PULL_REQUEST_MERGED,如果提取請求與 squash 策略合併,且提取請求分支已關閉,則原始提取請求遞交不再存在。在此情況下,CODEBUILD_WEBHOOK_MERGE_COMMIT環境變數會包含壓縮合併遞交的識別符。 - 一或多個選用篩選條件
-
使用規則表達式來指定篩選條件。若要讓事件觸發組建,與其相關聯的群組中的每個篩選條件都必須評估為 true。
ACTOR_ACCOUNT_ID(ACTOR_ID主控台中的 )-
當 GitLab 帳戶 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 會觸發組建。
注意
您可以在 GitLab 儲存庫的 Webhook 設定中找到 Webhook 承載。