首页 > 解决方案 > 如何更改工作项历史记录中的 CreatedBy?

问题描述

我正在尝试将工作项中的 CreatedBy 字段更改为我拥有的测试用户。CreatedBy 字段在创建工作项时更新,我将 bypassRules 设置为 true。有一段时间我认为我写的代码没有更新 CreatedBy 字段,因为在历史部分它仍然说:“用户创建了用户故事”。请注意,“USER”是拥有访问令牌的成员。但是,如果我拉出刚刚创建的工作项并拉出 CreatedBy 信息,它会指出测试用户成员,这是正确的行为。所以我唯一的问题是历史没有更新,有没有办法在历史部分更改 CreatedBy?下面是我用来创建工作项的代码片段。

patchDocument.Add(
        new JsonPatchOperation()
        {
                Operation = Operation.Add,
                Path = "/fields/System.CreatedBy",
                Value = workItem.CreatedBy        //Represents string "Test User"
                    
         }
);

WorkItem result = workItemTrackingHttpClient.CreateWorkItemAsync(patchDocument, project, "User Story", bypassRules: true).Result;

Console.WriteLine("User Story Successfully Created: User Story #{0}", result.Id);

workItem.ItemId = (int)result.Id;

WorkItem testResult = workItemTrackingHttpClient.GetWorkItemAsync(project, workItem.ItemId).Result;

IdentityRef createdBy = (IdentityRef)testResult.Fields["System.CreatedBy"];
Console.WriteLine(createdBy.DisplayName);  //This correctly displays "Test User"
                
return result;

标签: azure-devopsazure-devops-rest-api

解决方案


推荐阅读