我试图列出我所有的待办事项,但一些待办事项有子待办事项。我想以这种方式列出它们:BackLogItemParent/BackLogItemChild1/BackLogItemChild2 等,无论每个父项目有多少 child 。
我可以获得所有积压项目:
public WorkItemCollection BackLogItems()
{
WorkItemCollection results = this.tfsWorkItemStore.Query(
"Select [System.Id], [System.Title] " +
"From WorkItems " +
"Where [Work Item Type] = 'Product BackLog Item' " +
"And [System.Title] <> '<unused>' " +
"Order By [System.Title] Asc"
);
return results;
}
并可能做类似的事情:
private WorkItem GetChildBackLogItems(WorkItem wi)
{
foreach (WorkItemLink wil in wi.WorkItemLinks)
{
//some sort of recursive call to get all links if backlog is a parent
//but may need to filter out by top parent items first.
}
return wi;
}
但是我无法按照我想要的方式创建列表,因为我不太了解代码中链接的表示方式。我怀疑我可能需要改用 workitemlinks 表。
在团队资源管理器中有一个“工作项目树”查询类型,它以分层方式列出这些项目,我想我正在尝试做类似的事情,只是更扁平一些。
如有任何帮助,我们将不胜感激。
最佳答案
如果您在 Visual Studio 中创建了一个包含您想要的内容的查询,您可以使用“另存为...”将其保存到桌面。这将是一个“层次结构”查询。
然后,您可以通过将查询传递给 WorkItemStore.Query() 来获取整个工作项列表作为平面列表。
之后,您可以在代码中迭代和构建您的树。
关于c# - 如何获取分层格式的 TFS 待办事项列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793865/