2016-08-09 19 views
0

チームは、VSTS上でグループコードレビューの管理に役立つカスタムウィジェットを作成しようとします。タスクの1つは、「Code Review Response」タイプの新しい作業項目を作成し、それをコード変更にリンクすることです。ただし、次のコードは機能しません。VSO SDKを介して作業項目の作成に失敗する

import WorkitemRestClient = require("TFS/WorkItemTracking/RestClient"); 
var workitemClient = WorkitemRestClient.getClient(); 

var c = VSS.getWebContext(); 

import VersionCtrlRestClient = require("TFS/VersionControl/TfvcRestClient"); 
var versionCtrlClient = VersionCtrlRestClient.getClient(); 

versionCtrlClient.getChangesets(c.project.name) 
.then(changesets => { 
    for (var i = changesets.length - 1; i >= 0; i--) { 
     var content = $("#content"); 
     content.append("<pre>" + JSON.stringify(changesets[i].comment, null, "\t") + "</pre>"); 

     workitemClient.createWorkItem([{ 
      "op": "add", 
      "path": "/relations/-", 
      "value": { 
       "rel": "", 
       "title": "xxxx", 
       "url": changesets[i].url 
      } 
     }], c.project.name, "Code Review Response") 
      .then(workitem => { 
       //workitem.relations.push({ 
       // "attributes": { "key": [] }, 
       // "rel": "", 
       // "title": "", 
       // "url": changesets[i].url 
       //}); 
      }); 
    } 
}); 

問題が解決しないかどうかはわかりません。それは常に400の不正なリクエストエラーを出し、referenceNameはnullにはなれないと言っています。 コードに問題がありますか? createWorkItemの1番目のパラメータはdocument: VSS_Common_Contracts.JsonPatchDocumentです。私はこのパラメータをどのように渡すかについてはあまりよく分かりません。 誰でもこれを助けることができますか?どうもありがとう。

答えて

1

送信した本文が正しくないため、「リレーション」に作業項目タイトルが含まれています。以下の内容をお試しください:

[ 
    { 
     "op": "add", 
     "path": "/fields/System.Title", 
     "value": "xxxx" 
    }, 
    { 
     "op": "add", 
     "path": "/relations/-", 
     "value": 
     { 
      "rel": "ArtifactLink", 
      "url": "vstfs:///VersionControl/Changeset/xxx" 
     } 
    } 
] 
+0

私はまだ使用して400エラーが表示されます。workitemClient.createWorkItem([ { "OP": "追加"、 "パス": "/fields/System.Title" 、 "値":変化[I] .comment }、{ "OP": "追加"、 "パス": "/関係/ - "、 "値": { "REL": "ArtifactLink"、 "url":changes [i] .url } } ]、projectName、 "コードレビュー応答"); – Max

+0

@Max "Code Review Response"ワークアイテムタイプを作成するときに、コンテンツに "Assigned To"フィールドを含めるようにしてください。 –

関連する問題