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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.