【问题标题】:Create User story with child tasks using ADO NodeJS sdk使用 ADO NodeJS sdk 创建包含子任务的用户故事
【发布时间】: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】:

    如果您已经创建了 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-14
      • 2018-07-25
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 1970-01-01
      相关资源
      最近更新 更多