2016-08-09 5 views
0

팀은 그룹 코드 검토를 관리하는 데 도움이되는 VSTS에서 사용자 정의 위젯을 만들려고합니다. 작업 중 하나는 "코드 검토 응답"유형으로 새 작업 항목을 작성하고 코드 변경 사항에 링크하는 것입니다. 그러나 다음 코드는 작동하지 않습니다.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의 첫 번째 매개 변수는 document: VSS_Common_Contracts.JsonPatchDocument입니다. 이 매개 변수를 전달하는 방법을 잘 모르겠습니다. 누구든지 도움을 줄 수 있습니까? 고마워.

답변

1

보낸 본문이 올바르지 않은 경우 작업 항목 제목을 "관계"에 포함시키고 누락 된 관계 유형도 포함시킵니다. 다음과 같은 내용으로 시도해보십시오 : workitemClient.createWorkItem를 ([ { "OP": "추가", "경로": "/fields/System.Title을"

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

가 난 여전히 사용하여 400 오류 , "값이"변화 [I] .comment } { "연산", "클리핑" 를 "추가": "/ 구속/-" "값을" { 'REL': "ArtifactLink", "url": 변경 [i] .url } } ], projectName, "코드 검토 응답"); – Max

+0

@Max "코드 검토 응답"작업 항목 유형을 만들 때 컨텐트에 "할당 대상"필드를 포함 시키십시오. –