WebAPI可编辑只读字段



是否可以使用Azure DevOps/TFS WebAPI编辑READONLY工作项字段?

我试着像往常一样更改该字段,但与该字段在VisualStudio或Azure网页中只读的方式相同,您无法使用UpdateWorkItem-webApi调用进行等效的更改。

简化如下:

using (WorkItemTrackingHttpClient wiClient = new WorkItemTrackingHttpClient(new Uri(devOpsServerHost), credentials)) {
WorkItem wi = wiClient.GetWorkItemAsync(workItemId).Result;
JsonPatchDocument patchDoc = new JsonPatchOperation[] {
new JsonPatchOperation()
{
Operation = operation, // Add or Replace
Path = "/fields/Microsoft.VSTS.Scheduling.OriginalEstimate",
Value = estimated // a float
}
});
return wiClient.UpdateWorkItemAsync(patchDoc, workItemId, bypassRules).Result;
}

我试图通过外部API使workItem字段可编辑,并与进行更改的用户关联,而同一用户无法直接编辑该字段。例如,用户在外部应用程序中设置了多个任务,并将联合评估更新到TFS workItem中。

作为奖励,我希望对其进行更改,以不阻止保存workItem版本。只读字段给了我希望,尽管我相信这可能是不可能的。

我正在尝试通过外部API编辑一个workItem字段,并将其与进行更改的用户关联,而同一用户不能直接编辑该字段

但是,目前不支持通过API更改READONLY工作项字段的值。

如果将字段设为READONLY,则无法在页面上或通过API对其进行编辑。

另一种可能不那么完美的方法是,每次执行API时都以编程方式使字段可编辑,然后在编辑后使其为READONLY。您可以使用REST API字段-更新。

PATCH https://dev.azure.com/{organization}/_apis/work/processes/{processId}/workItemTypes/{witRefName}/fields/{fieldRefName}?api-version=6.0-preview.2

以下是一个示例请求体:

{
"readOnly": true
}

最新更新