TFS在工作项内自动创建子任务(链接)

时间:2019-07-09 17:22:29

标签: tfs automation

“在软件(即版本5)中发现了一个问题。追溯到此,此问题存在于需求的先前版本中。程序管理器(PM)会批准应修复的版本。”

我创建了4个WIT,分别是:主任务,版本任务,需求任务,软件任务

我需要帮助:

  • 在主要任务上:用户选择版本。分配给PM。
  • PM批准选择的版本
  • 必须根据所选版本自动创建“版本任务”链接。
  • 在每个版本中,任务必须具有“需求任务”和“软件任务”链接,这些链接也会自动创建。

注意:以上所有操作均在单击“批准”按钮后立即发生。

1 个答案:

答案 0 :(得分:0)

TFS中没有此类功能。解决方法是您可以进行编程:

  1. 构建应用程序(例如Web API)以创建工作项并添加链接编程
  2. 为工作项更新事件创建一个webhook,指定您应用的API URL

一些有关创建工作项编程的文章:

Create Work Item in Team Services Through API

TFS API Part 22 – Create Link Between Work Item (Parent, Child etc…)

用于创建工作项并添加链接的简单代码:

var u = new Uri("team project collection url");
            string projectName = "team project";
            VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.WindowsCredential(new NetworkCredential("username", "password", "domain")));

            TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(u, c);
            tpc.EnsureAuthenticated();
            WorkItemStore ws = tpc.GetService(typeof(WorkItemStore)) as WorkItemStore;
            var project = ws.Projects[projectName];
            var taskWit = project.WorkItemTypes["Task"];

            var requirementsTask = taskWit.NewWorkItem();
            requirementsTask.Title = "Requirement";
            requirementsTask.Save();

            var SWTask = taskWit.NewWorkItem();
            SWTask.Title = "SW";
            SWTask.Save();

            var versionWit = taskWit.NewWorkItem();
            versionWit.Title = "Version";
            versionWit.Links.Add(new RelatedLink(requirementsTask.Id));
            versionWit.Links.Add(new RelatedLink(SWTask.Id));
            versionWit.Save();

如果您使用的是更高版本的TFS,还可以自定义扩展名对其进行编程:Extend the work item form