GitLab webhook 事件 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

GitLab webhook 事件

您可以使用 webhook 筛选器组来指定哪些 GitLab Webhook 事件会触发构建。例如,您可以指定仅在对特定分支做出更改时触发构建。

您可以创建一个或多个 Webhook 筛选条件组,来指定哪些 Webhook 事件触发构建。如果任何筛选条件组评估为 true(即组中的所有筛选条件都评估为 true),则会触发构建。创建筛选条件组时,应指定:

事件

对于 GitLab,您可以选择以下一个或多个事件:PUSHPULL_REQUEST_CREATEDPULL_REQUEST_UPDATEDPULL_REQUEST_MERGEDPULL_REQUEST_REOPENEDPULL_REQUEST_CLOSEDRELEASED、和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

不适用

PUSH
Merge Request Hook

打开

PULL_REQUEST_CREATED
Merge Request Hook

更新

PULL_REQUEST_UPDATED
Merge Request Hook

merge

PULL_REQUEST_MERGED
Merge Request Hook

重新打开

PULL_REQUEST_REOPENED
Merge Request Hook

关闭

PULL_REQUEST_CLOSED
Release Hook

创建、更新

RELEASED
Job Hook

不适用

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

当头部引用与正则表达式模式(例如 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 引用名称。分支名称显示在 branch 对象的 name 字段中,该对象位于 Webhook 负载的 destination 对象中。

FILE_PATH

当更改的文件的路径与正则表达式模式匹配时,Webhook 会触发构建。

COMMIT_MESSAGE

当 HEAD 提交消息与正则表达式模式匹配时,Webhook 会触发构建操作。

WORKFLOW_NAME

当工作流名称与正则表达式模式匹配时,Webhook 会触发构建操作。

注意

你可以在仓库的 webhook 设置中找到 webhook 有效负载。 GitLab