バッチ作成メソッドでワークアイテムを作成しようとすると、以下のエラーが発生します
エラー 1
"Message":"No MediaTypeFormatter is available to read an object of type 'JsonBatchHttpRequest' from content with media type 'application/json-patch+json'."
エラー 2
{"count":1,"value":{"Message":"One or more errors occurred."}}
Microsoft のこのドキュメントhttps://www.visualstudio.com/en-us/docs/integrate/api/wit/batchを参照しました。およびstackoverflawに関する私の質問Javascript REST APIを使用してTFSで大量の作業項目を作成する
以下の方法でデータを送信しようとしました
- "json:x"
- 「本体:×:」
- "body:JSON.stringify(x)"
- "json:[本体:x]"
Content-Types として「application/json-patch+json」と「application/json」(Microsoft のドキュメントとして推奨)の両方を試しました。
Post (Microsoft のドキュメントとして推奨) と Patch の両方の方法にうんざりしています。
このエラーに利用できる参照はありません。したがって、私はこの時点でうんざりしています.何が間違っている可能性がありますか..
public batchOperation( ):q.Promise<boolean>{
let deferred = q.defer<boolean>();
try {
var batchCreateUrl = this.collectionURL+"/_apis/wit/$batch?api-version=1.0";
var x= {
method:"PATCH",
uri:"/VSTS_TFS_Test/_apis/wit/workItems/$Bug?api-version=1.0",
headers:{
"Content-Type":"application/json-patch+json"
},
body:[
{ "op":"add",
"path": "/fields/System.Tags",
"value":"tg;tg1;tg2"
},
{
"op": "add",
"path": "/fields/System.Title",
"value": "Some Title Text "
},
{
"op": "add",
"path": "/fields/System.Description",
"value":"this is description"
}
]
}
var options = {
url: batchCreateUrl,
username: this.username,
password: this.password,
domain: this.domain,
method: 'PATCH',
headers: {
'Content-Type': 'application/json-patch+json'
},
body: x
};
httpntlm.patch(options, function(err,res) {
if(err) {
return deferred.reject(false);}
else{
console.log("Patch Complete");
console.log(res.body);
deferred.resolve(true);
}
});
} catch (error) {
console.log("Failed to Perform Batch Operation ")
deferred.reject(false);
}
return deferred.promise;
}