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

如何通过REST API在TFS中使用指定变更集排队XAML构建?

如何通过REST API为TFS XAML构建指定变更集排队

当然可以实现!不过你踩了一个常见的坑——你用的是**VNext构建(新任务式构建)**的请求参数,而XAML构建作为旧版构建系统,参数结构完全不一样,这就是为什么指定的变更集没生效,反而用了最新的。

正确的请求方式

XAML构建的REST API需要通过parameters字段来传递源代码版本参数,而不是VNext的SourceVersion。具体来说,你需要在请求体里添加序列化后的JSON字符串,指定Build.SourceGetVersion参数为目标变更集ID。

请求示例

POST 地址:

https://{instance}/DefaultCollection/{project}/_apis/build/builds?api-version=1.0

请求体(JSON):

{
  "definition": { "id": 28 },
  "sourceBranch": "$/xxxx/xxxx",
  "parameters": "{\"Build.SourceGetVersion\":\"Cxxxx\"}"
}

关键说明

  • 参数格式:parameters的值必须是JSON字符串(注意外层的引号和内部的转义),而不是直接的JSON对象,这是XAML构建API的硬性要求。
  • 变更集格式:必须以C开头加上变更集编号,比如C12345,不能只写纯数字编号。
  • API版本:建议使用api-version=1.0或2.0,更高版本的API主要针对VNext构建,对XAML的支持有限。

为什么你之前的方法没用?

你找到的解决方案是针对VNext构建的,这类构建用SourceVersion参数来指定源代码版本,但XAML构建系统完全不识别这个字段,自然会忽略它,转而使用构建定义里默认的最新变更集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:17:40