从TeamCity API获取统计历史记录

时间:2014-08-25 14:14:10

标签: api rest statistics teamcity

通过查看TeamCity REST API Documentation,统计数据的请求是:

http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>/statistics/ 

哪个有效,然而,它只提供当前版本的统计信息(测试通过,代码覆盖率,重复数量等),我希望为我的构建散热器显示图形趋势,因此我想要过去一个月的历史数据。

有没有办法从TeamCity API获取此历史统计数据?

3 个答案:

答案 0 :(得分:1)

您可以通过TeamCity上的exportchart端点获取数据,而不是直接命中数据库。这不是一个记录的API(至少据我所知),但我发现改变&#34;类型&#34;查询字符串参数到json为您提供json数据(而不是默认的CSV)。您可以通过弄乱构建配置中的下拉菜单来了解有关此端点的更多信息。统计选项卡,然后查看用于&#34;将数据下载为CSV&#34;下载图标/按钮。

e.g。

  

HTTP://teamcity/exportchart.html类型= <强> JSON &安培; buildTypeId = BT2&安培;%40f_range = MONTH&安培;%40filter.status =警告&安培; showBranches =真安培; _graphKey = G&安培; VALUETYPE? =代码覆盖率和ID = CodeCoveragebt2

据我所知,没有自定义日期范围。

(请注意&#34; bt2&#34;是我系统的构建配置ID)

答案 1 :(得分:0)

要获取一组构建的统计值,因为TeamCity 8.1使用TeamCity REST doc中的请求:

 http://teamcity:8111/app/rest/builds?locator=BUILDS_LOCATOR&fields=build(id,number,status,buildType(id,name,projectName),statistics(property(name,value)))

这基本上返回与BUILDS_LOCATOR匹配的构建节点和&#34;扩展&#34;各自的统计数据。 例如使用&#34; buildType:(id:BUILD_CONFIG_ID)&#34; as&#34; BUILDS_LOCATOR&#34;使用UI配置的ID&#34; BUILD_CONFIG_ID&#34;来构建构建配置。

答案 2 :(得分:-1)

不幸的是,我无法仅从TeamCity API获取此数据,因此解决方案是反对数据库。

select 
    build_data_storage.build_id, 
    build_type_mapping.ext_id as 'build_type_id',
    data_storage_dict.value_type_key as 'metric_name', 
    build_data_storage.metric_value,
    history.build_number,
    history.build_finish_time_server
from 
    build_data_storage
join 
    data_storage_dict on build_data_storage.metric_id = data_storage_dict.metric_id
join
    history on build_data_storage.build_id = history.build_id
join
    build_type_mapping on history.build_type_id = build_type_mapping.int_id