Github Pull Request未触发TeamCity

时间:2018-06-15 11:36:41

标签: github teamcity webhooks

我的TeamCity CI拥有Jetbrains提供的插件GitHub Commit Hooks,用于检测新的拉取请求并触发运行。我已安装此插件并点击此处进行配置:

Install GitHub webhook

之后,Web钩子在GitHub上创建,但地址为0000:8111,这是错误的。所以我改为正确的DNS并重新发送请求。

似乎有效,服务器返回202消息Scheduled checking for changes for 2 VCS roots. (Server time: 20180615T122359.142+0100),但触发器无效。

一段时间后发生另一个问题,服务器开始拒绝请求,GitHub返回此信息:

No stored auth data (secret key) found for public key "72WE45221-19fe-433b-9265-66b2168EW6c". Seems hook created not by this TeamCity server. Reinstall hook via TeamCity UI.

环境:

  • TeamCity版本:2017.2.4(build 51228)
  • GitHub Commit Hooks版本:62

我可以做些什么来解决这个问题?我的DNS有问题吗?

编辑1:

现在我能够通过提交触发构建并解决secret key问题。但拉取请求不会触发CI。

要解决secret key问题,您需要更改Server URL上的Global Settings

2 个答案:

答案 0 :(得分:1)

有点解决方法,但您是否尝试使用VCS触发器来检测和构建拉取请求而不是提交挂钩?这与任何其他VCS签入触发器的工作方式相同,因此如果您当前的配置已经从Github检测到VCS更改,则设置应该更加简单。

使用以下模式+:refs/pull/*/head自动引用Github上的拉取请求,因此对于VCS分支规范,您可以拥有一个专门用于构建拉取请求的TeamCity构建项目。

请参阅https://blog.jetbrains.com/teamcity/2013/02/automatically-building-pull-requests-from-github-with-teamcity/

答案 1 :(得分:0)

我有一个类似的问题;解决方案是更改TC安装的设置,以便知道其正确的URL,然后通过插件重新添加webhook。有问题的设置是管理>服务器管理>全局设置>服务器网址:

enter image description here