0

TFS API 实现了这个类:

<a href="https://i.stack.imgur.com/eu7my.png" rel="nofollow noreferrer">在此处输入图像描述

如何使用 WIQL 查询和 TFS API 来获取自给定日期以来添加或更改了父/子链接的所有工作项?我怀疑使用 WorkItemLinks 表将是一个开始的地方,但我几乎没有找到关于提供的字段的文档。此外,重要的是要注意更改工作项链接不会影响工作项的更改日期字段。我怀疑这是因为链接有自己的更改/创建日期字段。我希望在平面列表视图中获取这些项目。我有什么选择?**

4

1 回答 1

0

我找到了另一种方法来帮助你。使用工作项查询来查找这些工作项似乎无法做到这一点。但是您可以使用这种方法:找到每个工作项的工作项链接,检查其链接类型是否为“父/子”,并检查其添加/删除日期是否在您的时间段内。

var workItemStore = teamProjectCollection.GetService<WorkItemStore>();
var queryString = @"select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State], [System.Tags] 
                    from WorkItemLinks 
                    where (
                            Source.[System.TeamProject] = 'Mtt-Scrum' 
                            and Source.[System.WorkItemType] <> ''
                        ) and (
                            [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward' 
                            or [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Reverse'
                        ) and (
                            Target.[System.TeamProject] = 'Mtt-Scrum' 
                            and Target.[System.WorkItemType] <> ''
                        ) 
                    order by [System.Id] mode (MustContain)";

// Create and run the query.
var query = new Query(workItemStore, queryString);
WorkItemLinkInfo[] witLinkInfos = query.RunLinkQuery();

foreach (WorkItemLinkInfo witinfo in witLinkInfos)
{
    if (witinfo.SourceId == 0)  //find those workitems which are not at top-level
    {
        int targetWIid = witinfo.TargetId;
        WorkItem workItem = workItemStore.GetWorkItem(targetWIid); //get the workitem
        foreach (WorkItemLink wiLink in workItem.WorkItemLinks)
        {

            if (wiLink.LinkTypeEnd.Name.Equals("Parent") || wiLink.LinkTypeEnd.Name.Equals("Child"))
            {
                if (DateTime.Compare(wiLink.AddedDate, 'yourDate') < 0)
                {
                  ......
                }

            }
        }
    }          

}
于 2017-02-14T05:18:02.823 回答