如何在迭代中获取所有工作项?

时间:2013-10-10 18:13:45

标签: c# tfs

我正在使用TFS客户端库,例如Microsoft.TeamFoundation。*程序集......鉴于我有一个迭代名称,如何检索属于它的所有工作项?

我使用Query对象尝试了以下内容:

var uri = new Uri(ConfigurationManager.AppSettings["TfsUri"]);
var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri);
var wiStore = tfs.GetService<WorkItemStore>();

var queryText = "select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] from WorkItems where [System.TeamProject] = 'VieroSAT'  and [System.State] = 'Dev'  order by [System.Id]";
var query = new Query(wiStore, queryText);

但我无法弄清楚如何通过迭代名称限制结果。我宁愿使用TFS程序集返回这些值,但我找不到合适的方法。

所以我的问题......

  1. 如何仅使用TFS程序集返回迭代中所有工作项的列表(例如,无需查询)。
  2. 如果无法#1,我该如何使用Query对象执行上述操作。

1 个答案:

答案 0 :(得分:7)

我没有快速测试方法,但根据msdn,您可以在查询中使用Under比较运算符。但是,我不确定在where子句中使用哪个字段来与迭代名称进行比较。也许是这样的:

select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State]
from WorkItems
where
  [System.TeamProject] = 'VieroSAT'
  and [System.State] = 'Dev'
  and [System.IterationPath] Under 'Iteration1'
order by [System.Id]