Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't complete a Pull request on Azure DevOps

I can't see the option to complete an already approved pull request on Azure DevOps. The weird thing is my team member see that option when they go into my pull request. According to the Microsoft Doc, I should see the Complete option where the Abandon dropdown is.

I don't have much luck googling the answer, does this have to do with policy or branch security, if so which option should I enabled? I'm the administrator of the repository by the way.

enter image description here

like image 233
Fylix Avatar asked Feb 12 '19 15:02

Fylix


1 Answers

We were having this exact issue with users in one of the organizations for our Azure Tenant. We ended up calling Azure support to get it resolved. Our issue was caused by some missing subscription and identity information after changing our corporate Azure tenant after an acquisition.

Make sure that you are not part of any groups that have the complete privilege Denied. Unless you're a member of the Project Collection Administrators group on your organization, membership in a group that explicitly Denies any permission will deny your permission, even if you are in another group that explicitly Allows you the permission and even if you as an individual user are granted Allow on that permission.

It took me a few passes through this documentation to understand that bit.

You might already know this, but if your permissions are inherited, you can click on the Why? link to view the breakdown of where your allow or deny status came from.

Below is an example w/ lots of screenshots to show this in action. It is my understanding from documentation that the Contribute permission is the one that should allow one to complete a pull request.

If, you're still having this issue after using a fine-tooth comb on your repository permissions and see nowhere that you are denied this permission based on your membership in any groups, then you may need to get in touch with Microsoft Support.

The Example

Trace Permission Inheritance

enter image description here enter image description here

Joslyn has the Allow permission inherited from her membership in the Contributors group, which has the Allow permission explicitly set on the repositories container node (all repositories) like so:

allow via group

Explicit Deny trumps explicit Allow

If I add another group that Joslyn is a member of and deny that permission on that group, then the permission is denied.

joslyn's other group


new group permissions


new inherited permissions

Even explicitly allowing the permission to Joslyn results in a denial of permission.

enter image description here

enter image description here

like image 108
Josh Gust Avatar answered Oct 12 '22 14:10

Josh Gust