You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TeamCity 2022.04.4升级后,运行中构建getStartDateTime()返回NULL

解决方案

原因分析

TeamCity 2022.04.4版本的REST API在返回运行中构建的信息时,字段结构或序列化逻辑发生了细微调整,而你使用的1.14.0版本REST客户端(对应较早的TeamCity服务器版本)无法正确解析运行中构建的startDateTime字段,导致返回null;构建完成后字段格式与旧版本兼容,因此能正常获取值。

具体解决方法

方法1:升级REST客户端版本至与服务器匹配

将依赖的org.jetbrains.teamcity:teamcity-rest-client版本升级为2022.04.4,确保客户端与服务器版本完全对齐。新版本客户端会适配服务器API的字段返回逻辑,运行中构建的getStartDateTime()方法即可正常返回值。

修改Maven依赖配置示例:

<dependency>
    <groupId>org.jetbrains.teamcity</groupId>
    <artifactId>teamcity-rest-client</artifactId>
    <version>2022.04.4</version>
</dependency>

方法2:直接调用REST API手动解析(临时方案)

如果暂时无法升级客户端,可绕过SDK直接发送HTTP请求获取构建数据,手动提取startDateTime字段:

  • 发送GET请求到TeamCity REST API端点:/app/rest/builds/id:{buildId}(替换{buildId}为目标构建ID)
  • 从返回的JSON/XML响应中提取startDateTime字段值(格式示例:2024-05-20T14:30:00+02:00)
  • 将字符串转换为ZonedDateTime对象:
String startDateTimeStr = "从API响应中获取的时间字符串";
ZonedDateTime startDateTime = ZonedDateTime.parse(startDateTimeStr);

内容的提问来源于stack exchange,提问作者Piotr Boho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:01:22