json - C# 使用 JsonPatchDocument 更新 Azure Dev Ops WorkItem 父级
问题描述
我创建一个工作项并设置正确的父值没有问题,但是对于我的一生,我无法弄清楚如何在创建父项后更新它。我想要做的是将父链接的值设置为不同工作项的 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 以正确的索引为目标,也会出现相同的错误。
我实际上已经找到了解决方案,请参见下文。
解决方案
看来这必须在 2 次操作中完成。首先找到rel
要删除的索引
var index = workItem.Relations.ToList().FindIndex(r => r.Rel.Contains("<search term>"));
然后创建 2 PatchOperations
,一个在索引处删除,然后一个添加一个rel
指向新工作项的新指针。
推荐阅读
- react-native - 您的 Android App Bundle 使用错误的密钥进行签名。确保您的 App Bundle 使用正确的签名密钥进行签名
- python - raspberry pi 和 teensy 之间的串行通信(使用 UART / GPIO 引脚)
- firebase - 大型/复杂查询的 Firestore 定价
- django - 将对象(字段值)传递到视图中并将其保存在模型上
- java - 从 Java 程序运行 C 文件/可执行文件
- java - 您如何将所有大写的名称转换为标题大小写?
- c++ - “auto subarrys = [&A](int k)”在 C++ 中是什么意思?
- mysql - 执行动态生成的sql脚本时mysql npm语法错误,但脚本在HeidiSQL中正常工作
- python - 当所有其他语言都这样做时,为什么 python 3 对数字没有大小限制?
- go - 使用嵌套结构和文本/模板包时删除打印的 {} 大括号