c# - WebAPI 可编辑的只读字段
问题描述
是否可以使用 Azure DevOps/TFS WebAPI 来编辑 READONLY workItem 字段?
我尝试像往常一样更改该字段,但与该字段在 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;
}
我正在尝试让 workItem 字段可通过外部 API 进行编辑,并与进行更改的用户相关联,而同一用户无法直接编辑该字段。例如,用户在外部应用程序中设置了多个任务,并且联合估计被更新到 TFS 工作项中。
作为奖励,我希望对其进行更改以不阻止保存 workItem 版本。readonly 字段给了我希望,尽管我相信这可能是不可能的。
解决方案
我正在尝试使 workItem 字段可通过外部 API 进行编辑并与进行更改的用户相关联,而同一用户无法直接编辑该字段
但是,目前不支持通过 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
}
推荐阅读
- matlab - 在播放电影之前缩放 movie() 的输出
- android - Android 文件传输应用程序未针对您的 mac 最新版本进行优化
- sharepoint-online - 模板验证失败:
- amazon-web-services - 无法从 CloudFormation yaml 创建多个 S3 存储桶
- python - 在 Angular 中将变量从 .py 共享到 .html
- python - Python - 具有 0.99 和 0.999 不同颜色的自定义颜色图
- python-3.x - 麻烦从 str 中减去字母
- php - 为什么 PHPUnit 不标记 order-by 和 stop-on 工作(我期望它们的方式)?
- javascript - 使用 UploadBrowserDataToBlockBlob 从 Javascript 上传时在 Azure Blob 上设置 ContentType
- nsis - 未引用安装功能“” - 归零代码