【问题标题】:Timestamp of builds in Teamcity APITeamcity API 中的构建时间戳
【发布时间】:2016-06-16 20:42:02
【问题描述】:

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

所有建议均已采纳。

谢谢

【问题讨论】:

  • 您使用的是 REST API 还是 OpenAPI?
  • 我正在使用 REST API。
  • 您在寻找什么时间戳?获取/app/rest/builds/id:21966 时,我看到build 元素包含queuedDatestartDatefinishDate 子元素。如果这些还不够,triggered 子元素具有date 属性。您是否忽略了这些?
  • 这个 id:21966 是什么?它是构建ID吗?现在我正在使用:httpAuth/app/rest/builds?locator=buildType: 在这我找不到任何时间戳。
  • 我不是在寻找一个特定的构建,而是一个项目中的所有构建。

标签: api teamcity dashboard klipfolio


【解决方案1】:

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

每个构建的 URL 将采用 /app/rest/builds/id:21966 的形式,但不要在您的程序中对其进行硬编码。相反,当您遍历所有构建(由您的第一次调用返回)时,获取每个构建的 href 属性并获取它。

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

我们之前尝试过以这种方式实现仪表板,但发现它的速度慢得令人无法接受(REST 调用太多)。还有一种替代方法,就是编写一个 TC 插件(使用原生 OpenAPI):这样会快得多,但当然工作量更大。

【讨论】:

  • 那么没有办法获取时间戳和所有的构建?
  • 我很确定没有;您必须查看各个版本。
【解决方案2】:

您不需要为每个构建进行额外的调用,但您需要制定您希望返回响应的方式。有一个名为 fields 的查询字符串参数可让您定义要返回的内容。

例如要在原始调用中返回开始和结束数据,您可以将 &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>

需要注意的是,您现在必须专门定义要返回的内容。所以要返回所有其他字段和开始/结束日期,请将此参数添加到查询字符串中

&fields=build(id,buildTypeId,number,status,state,branchName,defaultBranch,href,webUrl,buildTypeId,startDate,finishDate)

TeamCity 文档 - Full and Partial responses

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多