Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Why branch permissions don't work?

AnnaSvalova November 19, 2016

I want to restrict push to master branch with API request. I execute a query:

POST bitbucket_url/rest/branch-permissions/2.0/projects/project_name/repos/repo_name/restrictions

with parameters
 
{
    "matcher": {
        "id": "master",
        "displayId": "master",
        "type": {
            "id": "BRANCH",
        },
        "active": True,
    },
    "type": "pull-request-only",
    "users": [],
    "groups": some_groups
}

But it doesn't work. Branch restrictions are created and don't work (users can push into master without pull requests).

If I manually create the same branch restrictions, they work.

My Bitbucket version: 4.9.0 

 

Sincerely,
Anna.

1 answer

0 votes
Felix
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 20, 2016

Hi Anna, 

the branch permissions API expects the id on the BRANCH matcher to be a "fully qualified ref". From the docs

You must supply the fully qualified name of the ref to restrict, e.g. "refs/heads/master" instead of "master".

The example you provided is almost right, but you'll need to change the id to refs/heads/master:

 

{
    "matcher": {
        "id": "refs/heads/master",
        "displayId": "master",
        "type": {
            "id": "BRANCH",
        },
        "active": True,
    },
    "type": "pull-request-only",
    "users": [],
    "groups": some_groups
}

That should give you the restriction you want. 

 

Hope that helps, 

Felix

 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events