使用TFSAPI,如何查找发表在CodeReview上的评论?我试图找到一种方法来查找有关TFS2012中代码审查请求/响应项的详细信息。我可以查询所有代码审查请求/响应项:conststringTfsUri="http://mytfsserver:8080/tfs/DefaultProjectCollection";vartfs=newTfsTeamProjectCollection(newUri(TfsUri));varstore=tfs.GetService();varversionStore=tfs.GetService();varqueryText="SELECT[System.Id],FROMWorkItemsWHERE[System.WorkItemType]='CodeReviewRequest'or[System.WorkItemType]='CodeReviewResponse'";varquery=newQuery(store,queryText);varresult=query.RunQuery().OfType();这给了我一个WorkItem类型的列表。当我遍历result.FirstOrDefault().Fields属性时,它确实为我提供了一些有关ShelveSet的有用信息,它与代码审查相关联,即“关联上下文”。使用此信息,我可以查询ShelveSet:varversionStore=tfs.GetService();varshelveset=versionStore.QueryShelvesets("someCodeReviewId_xxxx","someUserName");这给了我一个ShelveSet项目,但这就是我被困的地方。我查看了Microsoft.TeamFoundation.CodeReview.Components和Microsoft.TeamFoundation.CodeReview.Controls库提供的Microsoft.TeamFoundation.CodeReview命名空间,但这对我没有帮助。我的问题是:如何通过TFSAPI在代码审查期间找到ShelveSet上的实际注释(一般注释和文件注释)?我没有代码示例,但根据此讨论,您应该能够使用Microsoft.TeamFoundation.Discussion.Client命名空间中的函数获得代码审查评论。具体来说,可以通过DiscussionThread类访问评论。您应该能够使用IDiscussionManager查询讨论。我们有一个从TFS中提取代码审查评论的新要求,这里是我们实现的一个简短示例。必须通过其他方法查询workItemId。您甚至可以在VisualStudio中或通过UI中的TFS查询来查找它。以下是可用内容和我们正在使用的内容的一小部分示例。通过MSDN挖掘后,我发现此链接很有用。以上是C#学习教程:HowtofindcommentspublishedonCodeReviewusingTFSAPI?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——publicListGetCodeReviewComments(intworkItemId){Listcomments=newList();Uriuri=newUri(URL_TO_TFS_COLLECTION);TeamFoundationDiscussionServiceservice=newTeamFoundationDiscussionService();service.Initialize(newMicrosoft.TeamFoundation.Client.TfsTeamProjectCollection(uri));IDiscussionManagerdiscussionManager=service.CreateDiscussionManager();IAsyncResult结果=discussionManager.BeginQueryByCodeReviewRequest(workItemId,QueryStoreOptions.ServerAndLocal,newAsyncCallback(CallCompletedCallback),null);varoutput=discussionManager.EndQueryByCodeReviewRequest(result);foreach(输出中的DiscussionThread线程){if(thread.RootComment!=null){CodeReviewCommentcomment=newCodeReviewComment();comment.Author=thread.RootComment.Author.DisplayName;comment.Comment=thread.RootComment.Content;comment.PublishDate=thread.RootComment.PublishedDate.ToShortDateString();comment.ItemName=thread.ItemPath;评论。添加(评论);}}返回评论;}staticvoidCallCompletedCallback(IAsyncResultresult){//在这里处理错误情况}publicclassCodeReviewComment{publicstring}publicstringComment{get;放;}publicstringPublishDate{get;放;}publicstringItemName{get;联系管理员删除。如需转载请注明出处:
