GitLab 網絡掛鉤事件 - AWS CodeBuild

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

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_IDACTOR_ID在控制台中)

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

HEAD_REF

當頭部引用匹配正則表達式模式(例如,refs/heads/branch-namerefs/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