如何使用 TFS WebApi 删除工作项链接

How can I use TFS WebApi to remove a workitemlink

我正在使用 Microsoft.TeamFoundation.WorkItemTracking.WebApi 并尝试在项目中添加和删除工作项链接。

我正在打电话

workItemTrackingHttpClient.UpdateWorkItemAsync(jsonPatchDocument, Id);

我的 JsonPatchDocument 看起来像这样。

[
  {
    "op": 1,
    "Path": "/relations/-",
    "From": null,
    "Value": {
      "Rel": "System.LinkTypes.Dependency-Forward",
      "Url": "https://[server]/tfs/DefaultCollection/_apis/wit/workItems/[id]"
    }
  }
]

当我使用 "op": 0 更新(添加)时,它工作正常,但我无法计算出正确的删除形式。

我收到类似于

的错误

VssServiceException

Remove does not support insert. Microsoft.VisualStudio.Services.WebApi -2146232832

请大家有什么想法。

删除一个link,JsonPatchDocument不像insert,需要提供"value"。

就像:

[
  {
    "op": "test",
    "path": "/rev",
    "value": 3
  },
  {
    "op": "remove",
    "path": "/relations/0"
  }
]

要删除 link,您需要使用 "relations/Id" 指出要删除的 link。 Id从0开始。

更多归纳请参考official document.