Lesstep
Azure DevOps Services and Server · Pull requests · October 25, 2026

Azure DevOps: find the pull requests assigned to your team

Azure DevOps can ask a team or a group for a review instead of a person. The pull request then has one reviewer for the whole group, and a member's vote counts for it. A list that looks for you by your own identity misses these pull requests: we checked it on Azure DevOps Server 2022.

How a group becomes a reviewer

Someone adds a team or a group as a reviewer, or the branch policy Automatically included reviewers names one. Microsoft's branch policies documentation says to add "people and groups" to the policy's reviewers; when the policy is Required, at least one person in every group added as a reviewer has to approve. The same page suggests a group when several people are required reviewers but one approval is enough. Microsoft's sample response for Get Pull Requests has a pull request whose only reviewer is the project's default team.

In the pull request, the group's entry in reviewers has isContainer true. A group does not vote itself: when a member votes, the member is added as a reviewer with votedFor naming the group, and the group's vote follows. On our server, after one member approved, the team's vote was 10.

Why your own reviewer id does not find them

The REST definition of searchCriteria.reviewerId is "search for pull requests that have this identity as a reviewer", and it matches that identity only. On Azure DevOps Server 2022 (October 25, 2026) we created a pull request whose only reviewer was the project's default team, which the signed-in user belongs to. searchCriteria.reviewerId with the user's id returned nothing, both for the repository and for the project; with the team's id it returned the pull request.

Listing them in a script

  1. Your id: GET {organization}/_apis/connectionData, the authenticatedUser's id.
  2. Your teams in a project: GET {organization}/_apis/projects/{project}/teams?$mine=true&api-version=7.0. It returned the user's team with a token that had only the Code (Read & write) scope.
  3. One query for you and one for each team: GET {organization}/{project}/_apis/git/pullrequests?searchCriteria.status=active&searchCriteria.reviewerId={id}&api-version=7.0, then merge the results by repository and pull request id.
  4. Still waiting: if you are a reviewer by name, your vote is 0 and hasDeclined is not true; if only your team is, the team's vote is 0, which means no member has voted yet. A pull request with isDraft true is not ready for review.

On the same server, a Code-only token could not read the organization-wide list of teams (_apis/teams?$mine=true, 401).

Security groups that are not teams

A security group such as [Project]\Release Approvers takes one scope more. Identities (_apis/identities) answered 401 to tokens with Code, or Code and Project, and answered a token that also had Identity (Read) (vso.identity). With that token, on Azure DevOps Server 2022:

  1. Your groups: GET {collection}/_apis/identities?identityIds={id}&queryMembership=Expanded&api-version=7.0. Its memberOf lists the descriptors of every group you are in, nested ones included (eight for our test user: the project's teams and groups, and collection-wide ones).
  2. Their ids and names: GET {collection}/_apis/identities?descriptors={d1},{d2},…&queryMembership=None&api-version=7.0. A project's groups are named [Project]\Group, and the id is the one a pull request's reviewer carries, with isContainer true. Send a few descriptors at a time: IIS refuses query strings over 2,048 characters by default.
  3. One more query per group of the project, as for a team. A group's vote follows its members': after one member approved, the member was added as a reviewer and both showed 10.

The other direction did not work: a group's expanded memberIds did not list the user, and the Graph API answered 401, or 404 to a token with the Graph scope. On Azure DevOps Services, identities are served from another host, vssps.dev.azure.com; we did not test there.

Pull requests assigned to your team in IntelliJ IDEA and Rider

Azure DevOps Pull Requests, a plugin by Lesstep for JetBrains IDEs 2024.1 or later and Android Studio, lists the pull requests that wait for your review in an IDE tool window, on Azure DevOps Services and on Azure DevOps Server. From version 1.0.47, "Waiting for my vote" and "Assigned to me or my teams" also list the pull requests that ask one of your teams, read the way described above, from the repositories open in the IDE, their projects, or every project of the organization. A team's request stops waiting once a member votes. From version 1.0.48, on Azure DevOps Server with a token that also has Identity (Read), the security groups of the project that you are in count too, nested ones included; on Azure DevOps Services, and without that scope, they are not covered. While the tool window is open it reloads the list every 5 minutes and tells you about new review requests. The review inbox and the branch policies are free; voting, commenting, completing and creating are Pro, with a 30-day trial.

Get it on JetBrains Marketplace

Azure DevOps is a trademark of Microsoft Corporation; IntelliJ IDEA and Rider are trademarks of JetBrains s.r.o. This page is not affiliated with or endorsed by Microsoft or JetBrains.

More: notifications, and when the emails do not arrive · why an approval does not count · required reviewers and path filters · explicit override to bypass policies · Azure DevOps pull request plugins for IntelliJ IDEA, compared · 日本語