Github Webhook 被 AWS CodeBuild 拒绝

Github Webhook rejected by AWS CodeBuild

我在 Github 上配置了一个 Webhook,它调用 AWS Codebuild 来触发该分支的构建。我看到 CodeBuild 返回错误,但我不清楚解决方案是什么。

响应是 400,其中包含以下详细信息。 Webhook 负载是 Github 通常在新的推送事件上发送到分支的任何内容。

Connection: close Content-Length: 89 Content-Type: application/json Date: Sun, 01 Mar 2020 21:20:05 GMT x-amzn-ErrorType: InvalidInputException:http://internal.amazon.com/coral/com.amazonaws.codebuild.webhooks/ x-amzn-RequestId: a4dbe4bd-244d-4f4a-826e-ed49bd72c099 {"message":"Invalid Webhook request received: Invalid source repository owner specified"}

我再补充几点:

  1. 已成功处理 Webhook 的 PING 事件。
  2. Github 项目归我的组织所有
  3. 我是该组织的所有者
  4. 我最初使用具有正确所需范围的个人访问令牌将我的 Codebuild 连接到 Github,并且我尝试使用 OAuth 进行连接。两个连接都有效,但 webhook 仍然以同样的方式失败。

感谢您使用 AWS CodeBuild。当 CodeBuild 收到 webhook 事件负载时,我们将 CodeBuild 项目上设置的 repo 所有者名称与负载中的信息进行比较。例如,如果您的项目源位置设置为“https://github.com/[owner]/[repo]”,我们将获取 [owner] 并与 webhook 负载中提供的存储库所有者 name/login 进行比较。如果它们不匹配,将抛出 "Invalid source repository owner specified" 异常。

您可以通过查看 "repository" -> "owner" -> "login"/"name" 字段找到负载中的所有者 name/login。

能否请您确认您的项目设置与负载中的信息相匹配?

基于 ,我更改了 github 存储库的 URL 以使用我的存储库所有者的正确大小写,现在一切正常。

不确定是否在任何地方记录了这一点,但知道 AWS CodeBuild 端的检查会进行区分大小写的比较可能很有用。