【发布时间】:2014-10-01 10:06:20
【问题描述】:
我们使用 TFS 2013 并且每个月我们都会创建一个新的迭代(vx.x.x.x 等)。每个迭代都有一组标准的用户故事/任务,需要完成这些任务才能完成迭代。目前我们需要每个月创建这些工作项,其中包含相同的数据。有没有办法自动化这个过程?我在考虑迭代的“默认工作项”,这在 TFS 2013 中是否可行?
提前致谢,
提姆
【问题讨论】:
标签: tfs iteration tfs-workitem
我们使用 TFS 2013 并且每个月我们都会创建一个新的迭代(vx.x.x.x 等)。每个迭代都有一组标准的用户故事/任务,需要完成这些任务才能完成迭代。目前我们需要每个月创建这些工作项,其中包含相同的数据。有没有办法自动化这个过程?我在考虑迭代的“默认工作项”,这在 TFS 2013 中是否可行?
提前致谢,
提姆
【问题讨论】:
标签: tfs iteration tfs-workitem
我认为如果不编写一些代码就无法做到这一点。我建议使用 TFS API 并创建某种工具来创建新的迭代和所需的工作项。例如
var tpc = new TfsTeamProjectCollection(new Uri("collection url, e.g. http://localhost:8080/tfs/DefaultCollection"));
var css = tpc.GetService<ICommonStructureService4>();
var store = tpc.GetService<WorkItemStore>();
var server = tpc.GetService<WorkItemServer>();
var project = store.Projects["MyProject"];
/*get root iteration node*/
NodeInfo rootIteration = css.ListStructures(project.Uri.ToString()).First(n => n.StructureType == "ProjectLifecycle");
/*create new iteration*/
css.CreateNode("TestIteration", rootIteration.Uri.ToString());
/*sync changes*/
server.SyncExternalStructures(WorkItemServer.NewRequestId(), project.Uri.ToString());
project.Store.RefreshCache();
/*create new bug in the new iteration*/
var bug = project.WorkItemTypes["Bug"].NewWorkItem();
bug.Title = "Test";
bug.AreaPath = "MyProject\\TestIteration";
bug.Save();
【讨论】: