更新在VSTS 2017中创建(System.CreatedBy)WorkItem字段



我们无法使用REST API更新VSTS 2017中的createby(System.CreatedBy)WorkItem字段。用户已被添加到"项目收集服务帐户" VSTS组中,以便在更新WorkItem时绕过规则。

链接:https://github.com/microsoft/vsts-dotnet-samples/blob/master/clientlibrary/clientlibrary/snippets/microsoft.teamservices.sampleices.client/workitemtracking/workitemtracking/workitemtracking/workitemssampamplemsampampamplemssampampamplemssmssmssmssmssmssmssmsspample> cs#l271

public WorkItem UpdateWorkItemUsingByPassRules(int id)
    {
        JsonPatchDocument patchDocument = new JsonPatchDocument();
        patchDocument.Add(
            new JsonPatchOperation() { 
                Operation = Operation.Add,
                Path = "/fields/System.CreatedBy",
                Value = "Foo <Foo@hotmail.com>"
            }
        );
        VssConnection connection = Context.Connection;
        WorkItemTrackingHttpClient workItemTrackingClient = connection.GetClient<WorkItemTrackingHttpClient>();
        WorkItem result = workItemTrackingClient.UpdateWorkItemAsync(patchDocument, id, null, true).Result;
        return result;
    }

当将ValidateLy参数设置为true而不是在null上设置为true时,结果输出保留了由值创建的更新。

System.CreatedBy字段只能在工作项目创建上修改。如果工作项有多个修订版,则无法通过绕过规则来更改System.CreatedBy

您还可以在绕过规则的更新中找到它:

注意:System.CreatedBy和System.CreatedDate只能修改在工作项创建中使用旁路规则,即工作项目。

由于System.CreatedBySystem.CreatedDate记录了谁以及何时创建的工作项目,因此只能在创建工作项目时进行更新。

相关内容

最新更新