2012-02-24 89 views
10

有点背景。通过REST调用启动TeamCity构建

在我的环境中,我们拥有大量小型的.NET解决方案,每个解决方案都有自己的Subversion存储库(500+)。我们不是一家TFS商店,目前正在评估将我们自己开发的CI流程迁移到TeamCity。

而不是让这些500+回购轮询我们的Subversion服务器每隔5-10分钟左右,我想通过一个后提交挂钩REST http调用(如我们目前的解决方案)启动项目构建。然后我想让TeamCity从SVN更新并开始构建过程。这可能吗?

我看到TeamCity有一个REST API,只是文档很少。我不确定这个例子如何与我配置的任何东西相关联。什么是BT7?它与我配置的项目有什么关系?

http://buildserver:8111/httpAuth/action.html?add2Queue=bt7 
+0

通过REST API排队构建将在TeamCity 8.1中提供(根据[TeamCity Issue Tracker](http://youtrack.jetbrains.com/issue/TW-14941))。 – botchniaque 2013-12-15 22:59:34

回答

2

bt7是你的buildTypeId这是每个构建配置(作业)的唯一ID。每个项目可以有许多构建配置。

如果你点击一个项目,然后点击进入特定生成配置,您的网址将会像...

http://teacmtiyserver/viewType.html?buildTypeId=bt208

如果要排队构建配置来运行,只是通过查看URL找出其buildTypeId,然后您可以尝试通过点击您使用的URL来运行它。

+0

现在我已经有了构建类型ID,我需要拨打电话。它似乎没有通过凭据正常工作。 'http://用户名:密码@ buildserver:8111/httpAuth/action.html?add2Queue = bt7' 没有开始。 – ZaChickster 2012-02-27 15:49:24

+0

我不知道你将如何设置HttpAuth以正确使用这样的URL。尝试使用HTTPS也许?如果这不起作用,也许开始另一个问题,或做一些谷歌搜索... – 2012-02-27 19:33:10

+0

感谢您的帮助。我已经得到它的工作。我以为我发布了另一个意见,但我不能正确提交它。 我也证实,当启动一个新的构建,它轮询SVN的最新变化。一切都很好。 – ZaChickster 2012-02-27 20:57:14

5

bt7是构建类型标识符。每个构建配置都有一个。您可以使用REST API如下

http://buildserver:8111/httpAuth/app/rest/buildTypes 

您还可以看到生成类型的网址,如果你点击你的团队城市页面上的任何构建配置得到完整的列表。你会看到一个url参数,如buildTypeId = bt7