【问题标题】:C# Updating Azure Dev Ops WorkItem parent using JsonPatchDocumentC# 使用 JsonPatchDocument 更新 Azure Devops 工作项父级
【发布时间】:2021-11-21 09:22:27
【问题描述】:

我在创建工作项和设置正确的父值时没有问题,但我一生无法弄清楚如何在创建父项后更新它。我想要做的是将父链接的值设置为不同工作项的 url。

虽然它可能像这样简单,但我发送了operationReplace

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 的目标是正确的索引,也会出现同样的错误。

我实际上已经找到了解决方案,请参见下文。

【问题讨论】:

  • 您需要澄清“不起作用”的含义。 发生了什么?错误信息?出乎意料的结果?
  • 是的,好点 - 将编辑问题
  • 真的值得一票否决吗?

标签: json .net azure-devops-rest-api tfs-workitem


【解决方案1】:

看来这必须在 2 次操作中完成。先找到你要删除的rel的索引

var index = workItem.Relations.ToList().FindIndex(r => r.Rel.Contains("<search term>"));

然后创建 2 个PatchOperations,一个在索引处删除,然后一个添加一个新的rel,指向您的新工作项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-28
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 2019-11-27
    相关资源
    最近更新 更多