【问题标题】:TFS programmatically created Iteration nodes don't show up in Backlog items viewTFS 以编程方式创建的迭代节点未显示在积压项目视图中
【发布时间】:2018-04-26 17:15:02
【问题描述】:

我想以编程方式在我的 TFS 服务器中创建迭代,例如 here

我让该代码正常工作,但我创建的迭代节点的行为不像预期的那样。

什么是工作:迭代节点被创建,它们可以链接到任何工作项。可以选择它们,如下图所示:

所有显示为“Iteration*”的迭代节点都是以编程方式创建的。其他迭代节点(显示为“Sprint*”)已经存在。

但是以编程方式创建的迭代节点不会显示在积压项目视图中。

只有“Sprint*”迭代。

要让我以编程方式创建的迭代节点显示在那里,我缺少什么?

【问题讨论】:

  • 如何添加这些迭代节点?您使用的是新的 REST API 技术还是旧的 TFS API 技术?
  • 我不确定这是否适用于旧的 TFS API,因为我使用的是 REST API。在此链接中,您将找到有关如何创建产品积压条目的示例:social.msdn.microsoft.com/Forums/sqlserver/en-US/…
  • 我使用的是 TFS API V15
  • 其实我也可以在我的 TFS 网页管理区域的“添加迭代”中找到它们
  • @Peter 更新您的问题以包含您的代码。如果不查看您的代码,就无法解决您的代码问题。

标签: c# tfs azure-devops


【解决方案1】:

我认为您必须在默认团队(或任何其他团队)的团队设置中添加迭代。您可以在这里找到示例:TFS 2012 API Set TeamSettings Programmatically

    // Set up default team sprint date and time
    var teamConfig = _tfs.GetService<TeamSettingsConfigurationService>();
    var css = _tfs.GetService<ICommonStructureService4>();

    string rootNodePath = string.Format("\\{0}\\Iteration\\Release 1\\Sprint 1", _selectedTeamProject.Name);
    var pathRoot = css.GetNodeFromPath(rootNodePath);

    css.SetIterationDates(pathRoot.Uri, DateTime.Now.AddDays(-5), DateTime.Now.AddDays(7));

    var configs = teamConfig.GetTeamConfigurationsForUser(new[] { _selectedTeamProject.Uri });
    var team = configs.Where(c => c.TeamName == "Demo").FirstOrDefault();

    var ts = team.TeamSettings;
    ts.BacklogIterationPath = string.Format(@"{0}\Release 1", _selectedTeamProject.Name);
    ts.IterationPaths = new string[] { string.Format(@"{0}\Release 1\Sprint 1", _selectedTeamProject.Name), string.Format(@"{0}\Release 1\Sprint 2", _selectedTeamProject.Name) };

    var tfv = new TeamFieldValue();
    tfv.IncludeChildren = true;
    tfv.Value = _selectedTeamProject.Name;
    ts.TeamFieldValues = new []{tfv};

    teamConfig.SetTeamSettings(team.TeamId, ts);

默认团队名称:“YOUR_PROJECT_NAME 团队”

【讨论】:

  • 如果我有时间我今天会试试这个
【解决方案2】:

在团队设置中选择的迭代将显示在您团队的积压工作中心。转到团队的设置,例如:

https://xxx.visualstudio.com/TeamProject/TeamProject%20Team/_admin/_work?_a=iterations

然后选择要在 Backlog 中心显示的迭代,查看下面的屏幕截图:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-28
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 2011-08-12
    相关资源
    最近更新 更多