我们无法使用rest API更新VSTS 2017中的CreatedBy(System.CreatedBy)工作项字段。用户已添加到"项目收集服务帐户" VSTS组在更新工作项时绕过规则。
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;
}
当validateOnly参数设置为true而不是null时,结果输出将保存由值创建的更新。
答案 0 :(得分:2)
System.CreatedBy
字段只能在创建工作项时修改。如果工作项有多个修订版,则无法通过绕过规则更改System.CreatedBy
。
您也可以在make an update bypassing rules中找到它:
注意:只能修改System.CreatedBy和System.CreatedDate 在工作项创建上使用绕过规则,即a的第一个修订版 工作项目。
由于System.CreatedBy
和System.CreatedDate
会记录创建工作项的人员和时间,因此只能在创建工作项时更新。