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.