TFS 更新工作项错误:您必须在请求正文中传递有效的补丁文档

Tus*_*ate 5 tfs

我正在尝试使用补丁方法使用以下数据更新 TFS 工作项字段:

[{ "op": "add", "path": "/fields/System.Title", "value": "JavaScript implementation for Microsoft Account" }]
Run Code Online (Sandbox Code Playgroud)

但它给了我以下错误:

您必须在请求正文中传递有效的补丁文档。如果我使用“补丁”方法来创建工作项,它可以工作,但在更新工作项的情况下会失败。

Cec*_*SFT 1

我这边测试了PATCH方法,没有出现问题:

[
  {
    "method": "PATCH",
    "uri": "/_apis/wit/workItems/19?api-version=1.0",
    "headers": {
      "Content-Type": "application/json-patch+json"
    },
    "body": [
      {
        "op": "add",
        "path": "/fields/System.Title",
        "value": "JavaScript implementation for Microsoft Account"
      }
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

请检查下面的示例,该示例用于更新两个工作项,将其状态更改为“已删除”,然后与您的 API 进行比较,看看是否缺少某些内容:

POST https://fabrikam.visualstudio.com/DefaultCollection/_apis/wit/$batch?api-version=1.0
Content-Type: application/json
[
  {
    "method": "PATCH",
    "uri": "/_apis/wit/workItems/284?api-version=1.0",
    "headers": {
      "Content-Type": "application/json-patch+json"
    },
    "body": [
      {
        "op": "add",
        "path": "/fields/System.State",
        "value": "Removed"
      }
    ]
  },
  {
    "method": "PATCH",
    "uri": "/_apis/wit/workItems/283?api-version=1.0",
    "headers": {
      "Content-Type": "application/json-patch+json"
    },
    "body": [
      {
        "op": "add",
        "path": "/fields/System.State",
        "value": "Removed"
      }
    ]
  }
] 
Run Code Online (Sandbox Code Playgroud)