You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建CodeCommit新建PR时触发CodeBuild的CloudWatch事件?

问题解决方法

你当前配置的事件规则无法触发的核心原因是匹配字段不符合CodeCommit PR事件的实际结构,分两种场景修正:


场景1:你需要触发「源分支为master的PR创建」事件

如果你的需求是当有人从master分支发起PR到其他分支时触发构建,先排查两个配置项:

  • 确认事件模式里填写的CodeCommit仓库ARN完全正确,核对区域、账号ID、仓库名拼写
  • 确认EventBridge规则的目标配置中,已配置正确的CodeBuild项目ARN,且EventBridge服务拥有调用该CodeBuild项目的权限

如果以上配置都正确,原规则可以正常生效。


场景2:你需要触发「目标分支为master的PR创建」事件

这是绝大多数用户的实际需求,原规则的detail.referenceName字段匹配的是PR的源分支,要匹配目标分支需要修改事件模式,参考如下配置:

{
  "source": [
    "aws.codecommit"
  ],
  "detail-type": [
    "CodeCommit Pull Request State Change"
  ],
  "resources": [
    "arn:aws:codecommit:XX-XX-1:XXX:dev-test"
  ],
  "detail": {
    "event": [
      "pullRequestCreated"
    ],
    "pullRequestTargets": {
      "referenceType": [
        "branch"
      ],
      "referenceName": [
        "master"
      ]
    }
  }
}

通用排查方法

你可以在EventBridge控制台的「事件 → 事件历史」页面,筛选来源为aws.codecommit的事件,查看实际产生的PR事件完整结构,和你配置的事件模式做字段比对,可快速定位匹配错误。

内容的提问来源于stack exchange,提问作者h2o

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:18:03