首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用对象模型查询WorkItem历史?

如何使用对象模型查询WorkItem历史?
EN

Stack Overflow用户
提问于 2010-06-24 20:19:43
回答 1查看 2.8K关注 0票数 2

我在asp.net中创建了代理,并在java中调用它。多谢你们的支持。现在,我要查询工作项历史记录以获取所有更改事件。举个例子。如果我更改了bug的assignee,如Studio2010的history列所示,我想查询历史记录,这应该会导致xyz工作项从旧值更改为新值。我尝试过查询WorkItems,如下所示:

String queryWorkItemByDate = "SELECT * FROM WorkItems WHERE System.TeamProject = '“+ projectName + "‘and System.WorkItemType = 'Bug’and System.ChangedDate >= '6/22/2010 6:00:00 PM'";

但是,这个查询给出的是工作项的当前状态,而不是历史记录。如何使用对象模型查询WorkItem历史?

致以问候。

里迪·沙阿

EN

回答 1

Stack Overflow用户

发布于 2010-06-24 22:31:23

您将希望查看嵌入的revision集合,以了解发生了哪些更改。

代码语言:javascript
复制
    TeamFoundationServer tfs = new TeamFoundationServer("http://tfs:8080");
    tfs.EnsureAuthenticated();

    WorkItemStore wis = tfs.GetService<WorkItemStore>();

    var results = wis.Query("select * from workitems where [System.WorkitemType] = 'Bug'");

    WorkItem wi = results[0];

    foreach (Revision r in wi.Revisions)
    {
        System.Diagnostics.Debug.WriteLine("Revisions:");

        for(int i = 0; i < r.Fields.Count; i++)
        {
            string revisionText = string.Format("Field {0} was '{1}' and is now '{2}'",
                                               r.Fields[i].Name,
                                               r.Fields[i].OriginalValue,
                                               r.Fields[i].Value);

            System.Diagnostics.Debug.WriteLine(revisionText);
            }

    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3109835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档