Команда пытается создать пользовательский виджет на 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 не может быть нулевым. Есть ли что-то не так с нашим кодом? Первый параметр createWorkItem - это document: VSS_Common_Contracts.JsonPatchDocument
. Я не совсем уверен, как передать этот параметр. Может ли кто-нибудь помочь в этом? Большое спасибо.
я все еще получаю ошибку 400 при помощи: workitemClient.createWorkItem ([ { "оп": "добавить", "путь": "/fields/System.Title" , "значение": изменения [I] .comment }, { "оп": "добавить", "путь": "/ отношения/-", "значение": { "отн": «ArtifactLink», «url»: изменения [i] .url } } ], projectName, «Отзыв кода»); – Max
@Max Попробуйте включить поле «Назначено» в контент при создании типа рабочего элемента «Отзыв проверки кода». –