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

通过Rest API向Azure DevOps测试计划自定义字段写入值失败问题咨询

问题排查与解决方案

一、自定义字段不生效问题

  • 首先确认你所属的项目已切换到你创建的继承进程:自定义字段仅对绑定了该继承进程的项目生效,若项目仍使用系统默认进程(Agile/CMMI/Scrum等),新增的自定义字段不会生效。
  • 修正字段路径的写法:你当前代码中路径写的是/fields/System.TeamName,这是错误的。System前缀是Azure DevOps内置字段的专属前缀,你自定义的字段引用名格式为Custom.xxx,所以正确路径应为/fields/Custom.TeamName。
  • 调整GET接口的请求参数:调用Work Item查询接口时,需要添加$expand=fields参数,才能返回所有自定义字段的内容。

二、创建Test Plan后无默认Test Suite问题

该问题的核心原因是接口使用错误:Test Plan虽然属于Work Item类型,但直接使用WorkItemTrackingHttpClient创建仅生成基础Work Item记录,不会触发测试模块的后置逻辑,因此不会自动生成根Test Suite,也无法正常在Test Plans模块中关联测试用例、测试套件。
正确的做法是使用专门的Test Plan管理接口操作,示例代码如下:

using Microsoft.VisualStudio.Services.TestManagement.TestPlanning.WebApi;
using Microsoft.VisualStudio.Services.WebApi;

// 构造Test Plan创建参数
var testPlanCreateParams = new TestPlanCreateParams
{
    Name = "你的测试计划名称",
    AreaPath = "项目区域路径",
    Iteration = "项目迭代路径",
    // 自定义字段赋值,直接填引用名作为key
    CustomFields = new Dictionary<string, object>
    {
        {"Custom.TeamName", "Xander"}
    }
};

// 获取TestPlanHttpClient客户端
TestPlanHttpClient testPlanClient = connection.GetClient<TestPlanHttpClient>();
// 调用创建接口
TestPlan createdPlan = testPlanClient.CreateTestPlanAsync(testPlanCreateParams, "你的项目名称").Result;

额外验证步骤

创建完成后可进入Azure DevOps前端的Test Plans模块,查看对应测试计划的详情,确认自定义字段已赋值、根Test Suite已自动生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:27:00