Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Teamcity API中构建的时间戳_Api_Teamcity_Dashboard_Klipfolio - Fatal编程技术网

Teamcity API中构建的时间戳

Teamcity API中构建的时间戳,api,teamcity,dashboard,klipfolio,Api,Teamcity,Dashboard,Klipfolio,我试图从Teamcity获取构建数据,并将其放入我正在创建的仪表板中。我得到了大部分数据,但我缺少的是构建的时间戳。我在网上搜索了很多,但找不到。在teamcity中,我可以看到所有构建的时间戳,但它在timstamp中不可用 所有的建议都被采纳了 谢谢在您获得/app/rest/builds?locator=buildType:…之后,您需要获得您感兴趣的所有单个构建运行的详细数据。不幸的是,这意味着每个构建都需要额外的REST调用 每个构建的URL的格式为/app/rest/builds/i

我试图从Teamcity获取构建数据,并将其放入我正在创建的仪表板中。我得到了大部分数据,但我缺少的是构建的时间戳。我在网上搜索了很多,但找不到。在teamcity中,我可以看到所有构建的时间戳,但它在timstamp中不可用

所有的建议都被采纳了


谢谢

在您获得
/app/rest/builds?locator=buildType:…
之后,您需要获得您感兴趣的所有单个构建运行的详细数据。不幸的是,这意味着每个构建都需要额外的REST调用

每个构建的URL的格式为
/app/rest/builds/id:21966
,但不要在程序中硬编码。相反,当您循环遍历所有构建(第一次调用返回)时,获取每个构建的
href
属性并获取该属性

总结如下: *获取
/app/rest/builds?locator=buildType:…
一次 *对于返回的数据集中的每个构建,获取其
href
并进行另一个REST调用 *对于每个返回的生成详细信息,时间戳位于以下子元素中:
queuedDate
startDate
finishDate
triggered


我们以前尝试过以这种方式实现仪表板,但发现其速度慢得令人无法接受(REST调用太多)。还有一种选择,那就是编写一个TC插件(使用本机OpenAPI):这会快得多,但当然要做更多的工作。

您不需要对每个构建进行额外的调用,但需要精心设计如何返回响应。有一个名为字段的查询字符串参数,用于定义要返回的内容

e、 g.要在原始调用中返回开始和完成数据,您可以将&fields=build(startDate,finishDate)添加到原始请求中

/httpAuth/app/rest/buildTypes/id:##BUILD_TYPE_ID##/builds?fields=build(startDate,finishDate)
这将返回类似这样的结果

<builds>
  <build>
    <startDate>20140202T230456+0000</startDate>
    <finishDate>20140202T230518+0000</finishDate>
  </build>
  <build>
    <startDate>20140202T224912+0000</startDate>
    <finishDate>20140202T224957+0000</finishDate>
  </build>
</builds>
TeamCity文档-


希望这有帮助

您使用的是REST API还是OpenAPI?我使用的是REST API。您在寻找什么时间戳?获取
/app/rest/builds/id:21966
时,我看到
build
元素包含
queuedDate
startDate
finishDate
子元素。如果这些还不够,则
触发的
子元素具有
日期
属性。你刚才忽略了这些吗?这个id:21966是什么?它是构建id吗?现在我正在使用:httpAuth/app/rest/builds?locator=buildType:在这里我找不到任何时间戳。我不是在寻找一个特定的构建,而是一个项目中的所有构建。所以没有办法获得时间戳和所有构建?我很确定没有;您必须查看各个构建。
&fields=build(id,buildTypeId,number,status,state,branchName,defaultBranch,href,webUrl,buildTypeId,startDate,finishDate)