【发布时间】:2013-04-10 09:44:50
【问题描述】:
我正在尝试找出一种方法来查找有关 TFS2012 中代码审查请求/响应项的详细信息。
我可以通过以下方式查询所有代码审查请求/响应项:
const string TfsUri = "http://mytfsserver:8080/tfs/Default ProjectCollection";
var tfs = new TfsTeamProjectCollection(new Uri(TfsUri));
var store = tfs.GetService<WorkItemStore>();
var versionStore = tfs.GetService<Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer>();
var queryText = "SELECT [System.Id],
FROM WorkItems
WHERE [System.WorkItemType] = 'Code Review Request'
or [System.WorkItemType] = 'Code Review Response'";
var query = new Query(store, queryText);
var result = query.RunQuery().OfType<WorkItem>();
这给了我WorkItem 类型的列表。当我遍历result.FirstOrDefault().Fields 属性时,它确实为我提供了一些与代码审查相关的ShelveSet 的有用信息,即“关联上下文”。使用这些信息,我可以查询 ShelveSet:
var versionStore = tfs.GetService<VersionControlServer>();
var shelveset = versionStore.QueryShelvesets("someCodeReviewId_xxxx","someUserName");
这给了我一个ShelveSet 项目,但这就是我卡住的地方。
我查看了Microsoft.TeamFoundation.CodeReview.Components 和Microsoft.TeamFoundation.CodeReview.Controls 库提供的Microsoft.TeamFoundation.CodeReview 命名空间,但这也对我没有进一步的帮助。
我的问题是:如何通过 TFS API 找到代码审查期间在 ShelveSet 上创建的实际 cmets(通用 cmets 和文件 cmets)?
【问题讨论】:
标签: c# api object-model tfs-code-review