@@ -19,16 +19,6 @@ def project_list(self, limit=None):
1919 params ['limit' ] = limit
2020 return (self .get ('rest/api/1.0/projects' , params = params ) or {}).get ('values' )
2121
22- def repo_list (self , project_key ):
23- """
24- Provide the repository list in a specific BB project
25- :param project_key: The Project Key ID you need to list
26- return:
27- """
28- url = 'rest/api/1.0/projects/{projectKey}/repos?limit=1000' .format (
29- projectKey = project_key )
30- return self .get (url )
31-
3222 def project (self , key ):
3323 """
3424 Provide project info
@@ -57,11 +47,10 @@ def update_project(self, key, **params):
5747 """
5848 Update project
5949 :param key:
60- :param **params:
6150 :return:
6251 """
6352 data = self .project (key )
64- if not 'errors' in data :
53+ if 'errors' not in data :
6554 data .update (params )
6655 url = 'rest/api/1.0/projects/{0}' .format (key )
6756 return self .put (url , data = data )
@@ -72,7 +61,7 @@ def update_project(self, key, **params):
7261 def project_avatar (self , key , content_type = 'image/png' ):
7362 """
7463 Get project avatar
75-
64+ :param content_type:
7665 :param key:
7766 :return:
7867 """
@@ -86,8 +75,9 @@ def project_avatar(self, key, content_type='image/png'):
8675 def set_project_avatar (self , key , icon , content_type = 'image/png' ):
8776 """
8877 Set project avatar
89-
90- :param key:
78+ :param key: A Project key
79+ :param icon:
80+ :param content_type:
9181 :return:
9282 """
9383 headers = {'X-Atlassian-Token' : 'no-check' }
@@ -174,18 +164,18 @@ def project_remove_user_permissions(self, project_key, username):
174164 username = username )
175165 return self .delete (url )
176166
177- def project_grant_group_permissions (self , project_key , groupname , permission ):
167+ def project_grant_group_permissions (self , project_key , group_name , permission ):
178168 """
179169 Grant the specified project permission to an specific group
180170 :param project_key: project key involved
181- :param groupname : group to be granted
171+ :param group_name : group to be granted
182172 :param permission: the project permissions available are 'PROJECT_ADMIN', 'PROJECT_WRITE' and 'PROJECT_READ'
183173 :return:
184174 """
185- url = 'rest/api/1.0/projects/{project_key}/permissions/groups?permission={permission}&name={groupname }' .format (
175+ url = 'rest/api/1.0/projects/{project_key}/permissions/groups?permission={permission}&name={group_name }' .format (
186176 project_key = project_key ,
187177 permission = permission ,
188- groupname = groupname )
178+ group_name = group_name )
189179 return self .put (url )
190180
191181 def project_remove_group_permissions (self , project_key , groupname ):
@@ -199,9 +189,9 @@ def project_remove_group_permissions(self, project_key, groupname):
199189 :param groupname: group to be granted
200190 :return:
201191 """
202- url = 'rest/api/1.0/projects/{project_key}/permissions/groups?name={groupname }' .format (
192+ url = 'rest/api/1.0/projects/{project_key}/permissions/groups?name={group_name }' .format (
203193 project_key = project_key ,
204- groupname = groupname )
194+ group_name = groupname )
205195 return self .delete (url )
206196
207197 def repo_grant_user_permissions (self , project_key , repo_key , username , permission ):
@@ -273,6 +263,8 @@ def repo_remove_group_permissions(self, project_key, repo_key, groupname, permis
273263 :return:
274264 """
275265 params = {'name' : groupname }
266+ if permission :
267+ params ['permission' ] = permission
276268 url = 'rest/api/1.0/projects/{project_key}/repos/{repo_key}/permissions/groups' .format (project_key = project_key ,
277269 repo_key = repo_key )
278270 return self .delete (url , params = params )
@@ -506,6 +498,20 @@ def get_default_branch(self, project, repository):
506498 repository = repository )
507499 return self .get (url )
508500
501+ def set_default_branch (self , project , repository , ref_branch_name ):
502+ """
503+ Update the default branch of a repository.
504+ The authenticated user must have REPO_ADMIN permission for the specified repository to call this resource.
505+ :param project: project key
506+ :param repository: repo slug
507+ :param ref_branch_name: ref name like refs/heads/master
508+ :return:
509+ """
510+ data = {'id' : ref_branch_name }
511+ url = 'rest/api/1.0/projects/{project}/repos/{repository}/branches/default' .format (project = project ,
512+ repository = repository )
513+ return self .put (url , data = data )
514+
509515 def create_branch (self , project_key , repository , name , start_point , message = "" ):
510516 """Creates a branch using the information provided in the request.
511517
@@ -587,6 +593,7 @@ def get_pull_requests(self, project, repository, state='OPEN', order='newest', l
587593 (as in: "oldest first") or NEWEST.
588594 :param limit:
589595 :param start:
596+ :param at:
590597 :return:
591598 """
592599 url = 'rest/api/1.0/projects/{project}/repos/{repository}/pull-requests' .format (project = project ,
@@ -613,7 +620,7 @@ def get_pull_requests(self, project, repository, state='OPEN', order='newest', l
613620 pr_list += (response or {}).get ('values' )
614621 return pr_list
615622
616- def get_pull_requests_activities (self , project , repository , pull_request_id ):
623+ def get_pull_requests_activities (self , project , repository , pull_request_id , start = 0 ):
617624 """
618625 Get pull requests activities
619626 :param project:
@@ -625,7 +632,7 @@ def get_pull_requests_activities(self, project, repository, pull_request_id):
625632 project = project ,
626633 repository = repository ,
627634 pullRequestId = pull_request_id )
628- params = {'start' : 0 }
635+ params = {'start' : start }
629636 response = self .get (url , params = params )
630637 if 'values' not in response :
631638 return []
@@ -807,7 +814,7 @@ def update_pull_request_comment(self, project, repository, pull_request_id, comm
807814 that must match the server's version of the comment
808815 or the update will fail.
809816 """
810- url = "/ rest/api/1.0/projects/{project}/repos/{repository}/pull-requests/{pull_request_id}/comments/{comment_id}" .format (
817+ url = "rest/api/1.0/projects/{project}/repos/{repository}/pull-requests/{pull_request_id}/comments/{comment_id}" .format (
811818 project = project , repository = repository , pull_request_id = pull_request_id , comment_id = comment_id
812819 )
813820 payload = {
@@ -1321,6 +1328,8 @@ def upload_plugin(self, plugin_path):
13211328 def upload_file (self , project , repository , content , message , branch , filename ):
13221329 """
13231330 Upload new file for given branch.
1331+ :param project:
1332+ :param repository:
13241333 :param content:
13251334 :param message:
13261335 :param branch:
@@ -1392,8 +1401,10 @@ def delete_code_insights_report(self, project_key, repository_slug, commit_id, r
13921401 def create_code_insights_report (self , project_key , repository_slug , commit_id , report_key , report_title ,
13931402 ** report_params ):
13941403 """
1395- Create a new insight report, or replace the existing one if a report already exists for the given repository, commit, and report key.
1396- A request to replace an existing report will be rejected if the authenticated user was not the creator of the specified report.
1404+ Create a new insight report, or replace the existing one
1405+ if a report already exists for the given repository, commit, and report key.
1406+ A request to replace an existing report will be rejected
1407+ if the authenticated user was not the creator of the specified report.
13971408 For further information visit: https://docs.atlassian.com/bitbucket-server/rest/6.6.1/bitbucket-code-insights-rest.html
13981409 :projectKey: str
13991410 :repositorySlug: str
0 commit comments