2016-07-23 88 views
0

我试图从TFS检索我所有代码评论的评论意见。 我无法构建查询。我的参数如下。我不从这个:-(得到任何团队基础服务器 - 检索评论意见

Team Project = @Project 
And Work Item Type  In Group Code Review Response Category 
And Requested By   =  @Me 
Or  Requested By  Was Ever @Me 

感谢

回答

0

工作项查询是不是能够检索代码审查意见,您可以通过使用TFS API实现自己的目标。This case提供了一个解决方案,可以检查一下:

你应该能够获得代码审查意见与功能在Microsoft.TeamFoundation.Discussion.Client命名空间

具体的意见是通过DiscussionThread类访问和y。 ou应该能够使用IDiscussionManager查询讨论。

代码片段如下:

public List<CodeReviewComment> GetCodeReviewComments(int workItemId) 
{ 
     List<CodeReviewComment> comments = new List<CodeReviewComment>(); 

     Uri uri = new Uri(URL_TO_TFS_COLLECTION); 
     TeamFoundationDiscussionService service = new TeamFoundationDiscussionService(); 
     service.Initialize(new Microsoft.TeamFoundation.Client.TfsTeamProjectCollection(uri)); 
     IDiscussionManager discussionManager = service.CreateDiscussionManager(); 

     IAsyncResult result = discussionManager.BeginQueryByCodeReviewRequest(workItemId, QueryStoreOptions.ServerAndLocal, new AsyncCallback(CallCompletedCallback), null); 
     var output = discussionManager.EndQueryByCodeReviewRequest(result); 

     foreach (DiscussionThread thread in output) 
     { 
      if (thread.RootComment != null) 
      { 
       CodeReviewComment comment = new CodeReviewComment(); 
       comment.Author = thread.RootComment.Author.DisplayName; 
       comment.Comment = thread.RootComment.Content; 
       comment.PublishDate = thread.RootComment.PublishedDate.ToShortDateString(); 
       comment.ItemName = thread.ItemPath; 
       comments.Add(comment); 
      } 
     } 

     return comments; 
    } 

    static void CallCompletedCallback(IAsyncResult result) 
    { 
     // Handle error conditions here 
    } 

    public class CodeReviewComment 
    { 
     public string Author { get; set; } 
     public string Comment { get; set; } 
     public string PublishDate { get; set; } 
     public string ItemName { get; set; } 
    }