C# 使用 JsonPatchDocument 更新 Azure Devops 工作项父级
Posted
技术标签:
【中文标题】C# 使用 JsonPatchDocument 更新 Azure Devops 工作项父级【英文标题】:C# Updating Azure Dev Ops WorkItem parent using JsonPatchDocument 【发布时间】:2021-11-21 09:22:27 【问题描述】:我在创建工作项和设置正确的父值时没有问题,但我一生无法弄清楚如何在创建父项后更新它。我想要做的是将父链接的值设置为不同工作项的 url。
虽然它可能像这样简单,但我发送了operation
的Replace
private JsonPatchOperation GetParentPatchOperation(WorkItem item, Operation operation)
var patch =
new JsonPatchOperation()
Operation = operation,
Path = "/relations/-",
Value = new
rel = "System.LinkTypes.Hierarchy-Reverse",
url = item.Url,
attributes = new comment = ""
;
return patch;
ADO 给出的错误是关系的类型无法更改 - 即使需要更改的 rel 的目标是正确的索引,也会出现同样的错误。
我实际上已经找到了解决方案,请参见下文。
【问题讨论】:
您需要澄清“不起作用”的含义。 发生了什么?错误信息?出乎意料的结果? 是的,好点 - 将编辑问题 真的值得一票否决吗? 【参考方案1】:看来这必须在 2 次操作中完成。先找到你要删除的rel
的索引
var index = workItem.Relations.ToList().FindIndex(r => r.Rel.Contains("<search term>"));
然后创建 2 个PatchOperations
,一个在索引处删除,然后一个添加一个新的rel
,指向您的新工作项。
【讨论】:
以上是关于C# 使用 JsonPatchDocument 更新 Azure Devops 工作项父级的主要内容,如果未能解决你的问题,请参考以下文章
如果为 null,则 JsonPatchDocument 实例化嵌套对象