如何从TeamCity检索XML中的构建状态
我需要以XML的形式从TeamCity检索构建状态,RSS格式将是理想的 我熟悉Teamcity内的RSS提要,但这没有用,因为它更像是一个历史视图。我正在寻找更像由状态小部件生成的页面的东西,但是是XML格式的。(仅供参考,状态小部件页面不是XHTML-尝试过!) 我想知道是否有人发现了任何有帮助的东西 亲切问候,,如何从TeamCity检索XML中的构建状态,xml,rss,teamcity,Xml,Rss,Teamcity,我需要以XML的形式从TeamCity检索构建状态,RSS格式将是理想的 我熟悉Teamcity内的RSS提要,但这没有用,因为它更像是一个历史视图。我正在寻找更像由状态小部件生成的页面的东西,但是是XML格式的。(仅供参考,状态小部件页面不是XHTML-尝试过!) 我想知道是否有人发现了任何有帮助的东西 亲切问候,, David Christiansen编辑:正如您所指出的,TeamCity的RSS源只包括已完成的构建 一种可能是从您感兴趣的项目的详细信息页面获取HTML,然后从构建表的顶部条
David Christiansen编辑:正如您所指出的,TeamCity的RSS源只包括已完成的构建 一种可能是从您感兴趣的项目的详细信息页面获取HTML,然后从构建表的顶部条目中提取当前状态 另一个选择:你是否考虑过使用Jabber或电子邮件通知系统?它具有更细粒度的事件通知:
- 构建开始
- 构建成功还是失败
这些选项中的任何一个都需要一些包装代码才能转换为RSS。描述了您的意思吗?我很确定TeamCity可以制作这种格式,但不确定如何制作。Hudson使用的URL类似于。我已经研究这个问题有一段时间了 然后,只需使用HTMLAgilityPack查看表即可
如果你打开guest access,那就更容易了。如果有帮助的话,我正在清理即将发布的代码。如果你用另一种语言开发,我也可以帮你。也许最好自己编写插件。当然,如果你懂Java的话。您可以创建自定义web控制器并将其绑定到您喜欢的url,此控制器可以接受buildId参数,搜索生成(SBuildServer.findBuildInstanceById())并输出XML 看看与TeamCity(TeamCity/devPackage)捆绑在一起的samplePlugin.zip中的HelloUserController.java
还值得检查一些TeamCity插件的来源:您可以使用
My Settings And Tools
下的Syndication Feed
工具来生成RSS URL(文档),并跟踪更改与生成结果,以确定状态(即生成和以前成功/失败)
例如,我刚刚创建了此URL以查看最近5次构建结果:
http://teamcity:8111/feed.html?buildTypeId=bt2&itemsType=builds&itemsCount=5
其中:
是配置的ID(通过检查构建的URL获取)buildTypeId
可以是“构建”或“更改”或两者兼而有之itemsType
buildStatus
和sinceDate
注意:根据您是否启用了guest访问,您可能需要使用不同的上下文,例如
/httpAuth/feed.html
或/guestAuth/feed.html
我使用每个构建类型的API进行了操作:
curl -k "https://${SERVER}/guestAuth/app/rest/buildTypes/${BUILDTYPE}/builds/?locator=lookupLimit:1"|xpath -q -e //build/@status
不过,感谢您的回复,“我的设置和工具”中的RSS选项显示历史信息,而不是我正在寻找的“当前构建状态”。第一个链接对我有用。第二个链接是显示状态链接形式的示例。它不应该起作用。(以example.com结尾的URL始终是示例。只需访问其中一个,例如,了解更多说明。)