本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
GitLab 網絡掛鉤事件
您可以使用 webhook 過濾器組來指定哪些 GitLab webhook 事件觸發構建。例如,您可以指定只針對特定分支的變更觸發組建。
您可以建立一或多個 Webhook 篩選群組來指定哪些 Webhook 事件會觸發組建。如果任何過濾器組評估為 true,則會觸發構建,當組中的所有過濾器評估為 true 時發生。當您建立篩選群組時,您可以指定這些項目:
- 一個事件
-
對於 GitLab,您可以選擇下列一或多個事件:
-
PUSH
-
PULL_REQUEST_CREATED
-
PULL_REQUEST_UPDATED
-
PULL_REQUEST_MERGED
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
對於
PULL_REQUEST_MERGED
,如果拉取請求與壓縮策略合併,並且拉取請求分支關閉,則原始提取請求提交將不再存在。在這種情況下,CODEBUILD_WEBHOOK_MERGE_COMMIT
環境變量包含壓縮合併提交的標識符。 -
- 一個或多個可選的過濾器
-
使用規則表達式來指定篩選條件。對於觸發構建的事件,與其關聯的組中的每個過濾器都必須評估為 true。
ACTOR_ACCOUNT_ID
(ACTOR_ID
在控制台中)-
當 GitLab 帳戶 ID 與規則運算式模式相符時,webhook 事件會觸發組建。這個值會出現在 Webhook 篩選條件承載之
actor
物件的account_id
屬性中。 HEAD_REF
-
當頭部引用匹配正則表達式模式(例如,
refs/heads/branch-name
和refs/tags/tag-name
)時,webhook 事件觸發構建。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 觸發構建。
注意
您可以在存儲庫的 webhook 設置中找到 webhook 有效負載。 GitLab