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

通过代码在Azure DevOps创建Work Item成功但无法在列表中找到

Azure DevOps编程创建工作项后网页端无法找到的问题

我通过以下C#代码在Azure DevOps中以编程方式创建Bug工作项:

var personalAccessToken = "...";
var orgUrl = new Uri("https://dev.azure.com/my-org");
var teamProjectName = "myproj";

VssHttpMessageHandler.DefaultWebProxy = new WebProxy("localhost:18080");

VssConnection connection = new VssConnection(orgUrl, new VssBasicCredential(string.Empty, personalAccessToken));

// Create instance of WorkItemTrackingHttpClient using VssConnection
WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>();

try
{
    JsonPatchDocument patchDocument = new JsonPatchDocument();

    //add fields and their values to your patch document
    patchDocument.Add(
        new JsonPatchOperation()
        {
            Operation = Operation.Add,
            Path = "/fields/System.Title",
            Value = "Test WorkItem"
        }
    );

    patchDocument.Add(
        new JsonPatchOperation()
        {
            Operation = Operation.Add,
            Path = "/fields/Microsoft.VSTS.TCM.ReproSteps",
            Value = ""
        }
    );

    patchDocument.Add(
        new JsonPatchOperation()
        {
            Operation = Operation.Add,
            Path = "/fields/Microsoft.VSTS.Common.Priority",
            Value = "1"
        }
    );

    patchDocument.Add(
        new JsonPatchOperation()
        {
            Operation = Operation.Add,
            Path = "/fields/Microsoft.VSTS.Common.Severity",
            Value = "2 - High"
        }
    );

    patchDocument.Add(
        new JsonPatchOperation()
        {
            Operation = Operation.Add,
            Path = "/fields/Microsoft.VSTS.TCM.ReproSteps",
            Value = "Test Repro Steps"
        }
    );

    WorkItem result = witClient.CreateWorkItemAsync(patchDocument, teamProjectName, "Bug").Result;

    Console.WriteLine("Bug Successfully Created: Bug #{0}", result.Id);
}
catch (AggregateException ex)
{
    Console.WriteLine("Error creating bug: {0}", ex.InnerException.Message);
}

代码执行成功,重复运行时会提示同名工作项已存在,但在Azure DevOps网页端的任何列表中都找不到该工作项,请问这是什么原因?


可能的原因及解决方法:

  • 工作项被标记为已删除:Azure DevOps中已删除的工作项默认不会显示在普通查询列表中。你可以创建一个自定义查询,在查询编辑器的“选项”中勾选**“包含已删除的工作项”**,就能找到这些被删除的Bug。重复创建时提示同名存在,是因为已删除的工作项依然会触发项目中“不允许同名工作项”的规则。

  • 查询过滤条件限制:网页端的默认列表(如“我的工作项”“活跃Bug”)通常带有过滤条件,比如只显示状态为“新建”“进行中”的工作项,或者限定了特定的区域路径/迭代路径。你可以检查当前查询的过滤规则,或者直接通过工作项ID(代码输出的result.Id)在网页端的搜索框中搜索,确认是否存在。

  • 账号或项目范围不匹配:确保网页端登录的账号与代码中PAT所属的账号一致,同时确认网页端查看的项目和代码中指定的teamProjectName是同一个项目,避免跨项目查找导致找不到。

  • 代码字段操作冗余:代码中两次对Microsoft.VSTS.TCM.ReproSteps执行Add操作,虽然最终会以最后一次的值为准,但这种冗余操作可能导致字段初始化异常。建议删除第一次设置空值的那行代码,简化补丁文档。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:27:30