您可以使用 Webhook 筛选条件组来指定哪个 Bitbucket Webhook 事件触发构建。例如,您可以指定仅在对特定分支做出更改时触发构建。
您可以创建一个或多个 Webhook 筛选条件组,来指定哪些 Webhook 事件触发构建。如果任何筛选条件组评估为 true(即组中的所有筛选条件都评估为 true),则会触发构建。创建筛选条件组时,应指定:
- 事件
-
对于 Bitbucket,您可以选择以下一个或多个事件:
-
PUSH
-
PULL_REQUEST_CREATED
-
PULL_REQUEST_UPDATED
-
PULL_REQUEST_MERGED
-
PULL_REQUEST_CLOSED
webhook 的事件类型位于其在
X-Event-Key
字段中的标头中。下表显示了X-Event-Key
标头值如何映射到事件类型。注意
如果您创建使用
PULL_REQUEST_MERGED
事件类型的 Webhook 筛选条件组,则必须在 Bitbucket Webhook 设置中启用merged
事件。如果您创建使用PULL_REQUEST_CLOSED
事件类型的 webhook 筛选条件组,则还必须在 Bitbucket webhook 设置中启用declined
事件。X-Event-Key
标头值事件类型 repo:push
PUSH
pullrequest:created
PULL_REQUEST_CREATED
pullrequest:updated
PULL_REQUEST_UPDATED
pullrequest:fulfilled
PULL_REQUEST_MERGED
pullrequest:rejected
PULL_REQUEST_CLOSED
对于
PULL_REQUEST_MERGED
,如果拉取请求与压缩策略合并且拉取请求分支已关闭,则原始的拉取请求提交将不再存在。在这种情况下,CODEBUILD_WEBHOOK_MERGE_COMMIT
环境变量包含压缩后的合并提交的标识符。 -
- 一个或多个可选筛选条件
-
使用正则表达式来指定筛选条件。对于触发构建的事件,组内与其关联的每个筛选条件都必须评估为 True。
ACTOR_ACCOUNT_ID
(控制台中的ACTOR_ID
)-
当 Bitbucket 账户 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 引用名称。分支名称显示在branch
对象的name
字段中,该对象位于 Webhook 负载的destination
对象中。 FILE_PATH
-
当更改的文件的路径与正则表达式模式匹配时,Webhook 会触发构建。
COMMIT_MESSAGE
-
当 HEAD 提交消息与正则表达式模式匹配时,Webhook 会触发构建操作。
WORKFLOW_NAME
-
当工作流名称与正则表达式模式匹配时,Webhook 会触发构建操作。
注意
您可以在 Bitbucket 存储库的 webhook 设置中找到 webhook 负载。