我在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"}
我将添加一些内容:
- 已成功处理webhook的
PING
事件 - Github项目归我的组织所有
- 我是该组织的所有者
- 我最初使用具有正确所需作用域的个人访问令牌将Codebuild连接到Github,并尝试使用OAuth进行连接。两个连接都可以工作,但webhook仍然以相同的方式失败
感谢您使用AWS CodeBuild。当CodeBuild接收到webhook事件负载时,我们将CodeBuild项目上设置的回购所有者名称与负载中的信息进行比较。例如,如果您的项目源位置设置为"https://github.com/[owner]/[repo]",我们将获取[owner]并与webhook负载中提供的存储库所有者名称/登录名进行比较。如果它们不匹配,将抛出"指定的无效源存储库所有者"异常。
您可以通过查看"repository"->"owner"->"login"/"name"字段,在负载中找到所有者名称/登录名。
请验证您的项目设置是否与有效负载中的信息匹配?
根据@Linghao Zhu的评论,我更改了我的github repo的URL,以使用我的repo所有者的正确大小写,现在一切都正常了。
不确定这是否有记录,但如果知道AWS CodeBuild端的检查可以进行区分大小写的比较,这可能会很有用。