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

如何通过TeamCity REST API修改构建配置的checkoutDirectory设置?

如何通过TeamCity REST API更新构建配置的检出目录(checkoutDirectory)

核心误区说明

你之前的操作方向有误:检出目录(checkoutDirectory)不属于构建配置的settings或parameters,它是绑定在「VCS根与构建配置的关联条目」上的专属设置,需要通过专门的VCS根条目API来操作。

具体操作步骤

1. 获取目标构建配置的VCS根条目列表

先发送GET请求,定位到你要修改的VCS根对应的条目ID:

curl -u 用户名:密码 "http://你的TeamCity服务器地址/app/rest/buildTypes/<构建配置ID>/vcs-root-entries"

返回结果会包含当前构建配置关联的所有VCS根信息,找到目标VCS根的id字段,以及当前的checkoutDirectory值。

2. 发送PUT请求更新检出目录

针对找到的VCS根ID,发送PUT请求修改checkoutDirectory:

JSON格式示例:

curl -u 用户名:密码 -X PUT -H "Content-Type: application/json" -d '{
  "checkoutDirectory": "/你的新检出路径"
}' "http://你的TeamCity服务器地址/app/rest/buildTypes/<构建配置ID>/vcs-root-entries/<VCS根ID>"

XML格式示例:

curl -u 用户名:密码 -X PUT -H "Content-Type: application/xml" -d '<vcs-root-entry checkoutDirectory="/你的新检出路径"/>' "http://你的TeamCity服务器地址/app/rest/buildTypes/<构建配置ID>/vcs-root-entries/<VCS根ID>"

关于你提到的其他疑问

  • 为什么/settings返回结果没有ID? 这不是bug:settings是构建配置的附属属性集合,本身没有独立标识;而parameters是键值对结构,每个参数以自身名称作为ID,两者设计逻辑不同,属于正常情况。
  • 为什么UI里是单个构建配置的设置? 因为该设置是「VCS根在当前构建配置中的专属配置」,而非VCS根的全局设置,所以需要通过构建配置下的VCS根条目API来修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:20:50