【发布时间】:2022-07-22 12:11:13
【问题描述】:
我正在尝试创建一堆包含子任务的用户故事,例如
1. UserStory1
1.1 Task1,
1.2 Task2
2. UserStory2
2.1 Task1
2.2 Task2
我知道如何分别创建任务和用户故事,我不知道如何使用 Node ADO SDK 与子/父链接。 任何帮助都会很棒!
【问题讨论】:
标签: node.js azure-devops azure-devops-rest-api
我正在尝试创建一堆包含子任务的用户故事,例如
1. UserStory1
1.1 Task1,
1.2 Task2
2. UserStory2
2.1 Task1
2.2 Task2
我知道如何分别创建任务和用户故事,我不知道如何使用 Node ADO SDK 与子/父链接。 任何帮助都会很棒!
【问题讨论】:
标签: node.js azure-devops azure-devops-rest-api
如果您已经创建了 UserStory 和 Task,那么您只需调用 updateWorkItem() 方法将用户故事和子任务链接到以下 json 补丁文档(更新此示例中的 Task)。详情请见Work Items - Update。
{
"op": "add",
"path": "/relations/-",
"value": {
"rel": "System.LinkTypes.Hierarchy-Reverse",
"url": "UserStoryUrl",
"attributes": {
"isLocked": false,
"comment": "Link to parent user story",
"name": "Parent"
}
}
}
您也可以在创建任务时链接父用户故事,只需获取用户故事 URL 并将其集成到 json 补丁文档中即可。如下所示:
[
{
"op": "add",
"path": "/fields/System.Title",
"value": "Test"
},
{
"op": "add",
"path": "/relations/-",
"value": {
"rel": "System.LinkTypes.Hierarchy-Reverse",
"url": "User Strory URL here",
"attributes": {
"isLocked": false,
"comment": "Link to User Story as the parent work item",
"name": "Parent"
}
}
}
]
参考这个帖子:How to create work items using Visual Studio Team Services Client for Node.js (vso-node-api)?
async function createUS() {
let wijson: vss.JsonPatchDocument = [{ "op": "add", "path": "/fields/System.Title", "value": "Task created from Node JS" }];
let project: string = "Project";
let witype: string = "User Story";
let usWI: wi.WorkItem = await vstsWI.createWorkItem(null, wijson, project, witype);
console.log(usWI.id);
}
createUS();
async function createTask() {
let wijson: vss.JsonPatchDocument = [{ "op": "add", "path": "/fields/System.Title", "value": "Task created from Node JS" },{"op":"add","path":"/relations/-","value":{"rel":"System.LinkTypes.Hierarchy-Reverse","url":"usWI.url","attributes":{"isLocked":false,"comment":"Link to parent User Story","name":"Parent"}}}];
let project: string = "Project";
let witype: string = "Task";
let taskWI: wi.WorkItem = await vstsWI.createWorkItem(null, wijson, project, witype);
console.log(taskWI.id);
}
createTask();
【讨论】: