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

How do you setup a webhook from bitbucket to AWS Codebuild to trigger only on merge to dev branch?

使用 Bitbucket 源的 AWS 代码构建:

在"Primary source webhook events Info"

之下

然后下:"Start a build under these conditions"

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

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

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

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

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

请注意,Bitbucket 拉取请求合并事件将传送两个 Webhook 事件,一个事件类型为 "pullrequest:fulfilled",另一个事件类型为 "repo:push"。通过上述设置,CodeBuild 将构建在 "pullrequest:fulfilled" 负载上。