您如何设置从bitbucket到AWS Codebuild的Webhook仅在合并到dev分支时触发?

时间:2019-07-25 23:31:28

标签: git bitbucket webhooks aws-codebuild

使用Bitbucket源的AWS代码构建:

在“主要源Webhook事件信息”下

,然后输入:“在这些条件下开始构建”

如何正确设置HEAD_REF和BASE_REF以仅在从任何分支到dev分支的合并中触发构建?

我已经在BASE_Ref字段中尝试过^refs/heads/dev$,但是没有用。我还确认了codebuild正在连接到bitbucket:

{ "response": "No build triggered for specified payload", "statusCode": 200 }

1 个答案:

答案 0 :(得分:2)

感谢您使用AWS CodeBuild!对于您的用例,这是示例步骤:

  1. 转到AWS CodeBuild控制台,为您的Bitbucket源项目设置webhook。在“ BASE_REF”文本框中输入“ ^ refs / heads / dev $”,然后为事件类型选择PULL_REQUEST_MERGED。
  2. 创建Webhook后,请在Bitbucket页面上检查并找到您的Webhook,然后单击“编辑”。在“触发器”->“请求”中,确保选中了“合并”复选框。这样可以确保Bitbucket将提供提取请求合并事件有效负载。
  3. 合并一个拉取请求,然后在webhook请求日志中,查找事件类型为“ pullrequest:fulfilled”的请求。此webhook事件应触发CodeBuild构建。

请注意,Bitbucket拉取请求合并事件将传递两个webhook事件,一个事件类型为“ pullrequest:fulfilled”,另一个事件类型为“ repo:push”。通过上述设置,CodeBuild将基于“ pullrequest:fulfilled”有效负载构建。