Skip to content

Commit f84c59f

Browse files
therekgonchik
authored andcommitted
Fetch SSH keys information for projects and repos (#399)
1 parent 214244a commit f84c59f

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

atlassian/bitbucket.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,23 @@ def project_users(self, key, limit=99999, filter_str=None):
102102
params['filter'] = filter_str
103103
return (self.get(url, params=params) or {}).get('values')
104104

105+
def project_keys(self, key, limit=99999, filter_str=None):
106+
"""
107+
Get SSH access keys added to the project
108+
:param key:
109+
:param limit: OPTIONAL: The limit of the number of users to return, this may be restricted by
110+
fixed system limits. Default by built-in method: 99999
111+
:param filter_str: OPTIONAL: users filter string
112+
:return:
113+
"""
114+
url = 'rest/keys/1.0/projects/{key}/ssh'.format(key=key)
115+
params = {}
116+
if limit:
117+
params['limit'] = limit
118+
if filter_str:
119+
params['filter'] = filter_str
120+
return (self.get(url, params=params) or {}).get('values')
121+
105122
def repo_users(self, project_key, repo_key, limit=99999, filter_str=None):
106123
"""
107124
Get users who has permission in repository
@@ -122,6 +139,24 @@ def repo_users(self, project_key, repo_key, limit=99999, filter_str=None):
122139
params['filter'] = filter_str
123140
return (self.get(url, params=params) or {}).get('values')
124141

142+
def repo_keys(self, project_key, repo_key, limit=99999, filter_str=None):
143+
"""
144+
Get SSH access keys added to the repository
145+
:param key:
146+
:param repo_key:
147+
:param limit: OPTIONAL: The limit of the number of users to return, this may be restricted by
148+
fixed system limits. Default by built-in method: 99999
149+
:param filter_str: OPTIONAL: users filter string
150+
:return:
151+
"""
152+
url = 'rest/keys/1.0/projects/{project_key}/repos/{repo_key}/ssh'.format(key=key)
153+
params = {}
154+
if limit:
155+
params['limit'] = limit
156+
if filter_str:
157+
params['filter'] = filter_str
158+
return (self.get(url, params=params) or {}).get('values')
159+
125160
def project_users_with_administrator_permissions(self, key):
126161
"""
127162
Get project administrators for project
@@ -1413,7 +1448,7 @@ def create_code_insights_report(self, project_key, repository_slug, commit_id, r
14131448
:commitId: str
14141449
:report_key: str
14151450
:report_title: str
1416-
:report_params:
1451+
:report_params:
14171452
"""
14181453
url = "rest/insights/1.0/projects/{projectKey}/repos/{repositorySlug}/commits/{commitId}/reports/{key}".format(
14191454
projectKey=project_key, repositorySlug=repository_slug, commitId=commit_id, key=report_key

0 commit comments

Comments
 (0)