Visual studio 问:如何使用Azure DevOps REST API检索“我的工作”中的所有代码审查

Visual studio 问:如何使用Azure DevOps REST API检索“我的工作”中的所有代码审查,visual-studio,rest,azure-devops,Visual Studio,Rest,Azure Devops,我目前正在尝试检索VisualStudio中“团队资源管理器”窗口“我的工作”部分中的所有代码审阅。在这里,它会显示您创建但尚未签入的所有代码审阅,以及您被要求审阅但尚未签入的代码审阅。查看RESTAPI的文档:我找不到能够实现这一点的方法 我很好奇是否有更熟悉API的人可以帮助我。您可以使用如下API来获得代码审查: POST https://dev.azure.com/{organization}/{project}/_apis/wit/wiql?api-version=5.1 #

我目前正在尝试检索VisualStudio中“团队资源管理器”窗口“我的工作”部分中的所有代码审阅。在这里,它会显示您创建但尚未签入的所有代码审阅,以及您被要求审阅但尚未签入的代码审阅。查看RESTAPI的文档:我找不到能够实现这一点的方法

我很好奇是否有更熟悉API的人可以帮助我。

您可以使用如下API来获得代码审查:

    POST https://dev.azure.com/{organization}/{project}/_apis/wit/wiql?api-version=5.1

# get all code review that I request 
    {
      "query": "SELECT [System.Id], [System.Links.LinkType], [System.Title], [System.State], [System.Reason], [System.AssignedTo] FROM WorkItemLinks WHERE (Source.[System.TeamProject] = @project and Source.[System.WorkItemType] in group 'Microsoft.CodeReviewRequestCategory' and Source.[System.AssignedTo] = @me and Source.[Microsoft.VSTS.Common.StateCode] <> '1') and ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward') and (Target.[System.WorkItemType] in group 'Microsoft.CodeReviewResponseCategory') ORDER BY [System.CreatedDate] desc"
    }

# get all code review that I you are a reviewer
  
   {
      "query": "SELECT [System.Id], [System.Links.LinkType], [System.Title], [System.State], [System.Reason], [System.AssignedTo] FROM WorkItemLinks WHERE ([Source].[System.TeamProject] = @project  AND  [Source].[System.WorkItemType] IN GROUP 'Microsoft.CodeReviewRequestCategory'  AND  [Source].[Microsoft.VSTS.Common.StateCode] <> 1) And ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward') And ([Target].[System.WorkItemType] IN GROUP 'Microsoft.CodeReviewResponseCategory'  AND  [Target].[System.AssignedTo] = @me) ORDER BY [System.CreatedDate] desc"
   }

你查过我的答复了吗?它有用吗?@CeceDong MSFT是的,它确实有用!但是,在我删除以下where语句之前,您发布的查询没有为我返回任何内容:Source。[System.TeamProject]=@project。此外,我似乎没有得到我要求我审查的人的代码审查,只有我创建的代码审查。此外,我试图从每次代码审查中获得的主要信息是代码审查中每个审查者的评论数量和批准状态。好奇您是否知道这是可能的?若要获得所有代码审阅,您是审阅者,您需要添加[Target].[System.AssignedTo]=@me子句,检查我的更新回复。关于评论,恐怕没有REST API,您可以检查客户端API,正如我在本例中回答的那样:。如果我的回复对你有帮助的话,这对其他社区成员阅读这篇文章是有益的。这非常有用,谢谢!我注意到它还为我分配代码审阅的人返回工作项关系,例如:{rel:System.LinkTypes.Hierarchy Forward,source:{id:420905,url:http://dev-tfs:8080/tfs/HylandCollection/_apis/wit/workItems/420905 },目标:{id:420906,url:http://dev-tfs:8080/tfs/HylandCollection/_apis/wit/workItems/420906 }}是否可以只返回源工作项?是的。您可以通过以下查询获得请求/创建的代码审阅:从工作项中选择[System.Id]、[System.Title]、[System.State]、[System.Reason]、[System.AssignedTo][System.TeamProject]=@project和[System.WorkItemType]在组“Microsoft.CodeReviewRequestCategory”和[Microsoft.VSTS.Common.StateCode]1和[System.AssignedTo]=@me ORDER BY[System.CreatedDate]desc.中,您可以使用[System.WorkItemType]获得作为审阅者的代码审阅在“Microsoft.CodeReviewResponseCategory”组中。