我正在尝试找出一种方法来查找有关 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
提供的命名空间,但这也对我没有进一步的帮助。Microsoft.TeamFoundation.CodeReview.Components
Microsoft.TeamFoundation.CodeReview.Controls
我的问题是:如何通过 TFS API 找到在代码审查期间对 ShelveSet 所做的实际评论(一般评论和文件评论)?