我已经在这个论点上进行了搜索和斗争......但没有成功。
设置:
- Bitbucket 云
- 本地 TeamCity 服务器和代理
问题如下:使用 webhooks 而不是轮询运行构建。
TeamCity 方面,对于触发构建,只有两个 POST URL:
- 一个deprecated one在查询字符串中使用参数(注意:文档说“HTTP GET”但是在测试时我得到“405 Only POST method is allowed for this request”)
- "new" one在请求正文中使用预定义参数来定义要运行的构建和其他内容
Bitbucket 方面:
- 我找不到如何将 URL/正文参数的通配符/占位符指定为“实际分支”
- 很少有插件可以提供帮助,但它们不适用于云
不错的插件:http-request-hook-for-bitbucket-server - 它将解决我们的问题,使用通配符向已弃用的 Teamcity url 执行请求...但不适用于 Bitbucket Cloud。
关于如何让它工作有什么建议吗?
提前致谢。
编辑:让我们回顾一下这个问题:“如何设置 Bitbucket Cloud webhook 以便使用自定义正文发出 POST 请求?”
EDIT2:Bitbucket cloud 实际上使用了 POST 方法(上面清理过)
最佳答案
最终采用的解决方案是创建一个 mincro HTTP 服务器(50 行 fastify 应用程序)接收 Bitbucket Cloud Webhook(实际上以 POST 形式出现,但此时无关紧要),获取感兴趣的数据并调用用于排队构建的 Teamcity API。
链接:
关于bitbucket - 如何使 Bitbucket POST webhook 连接到 TeamCity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54003907/