Skip to content

Commit 17364a5

Browse files
Gonchik TsymzhitovGonchik Tsymzhitov
authored andcommitted
2 parents e18f91d + 364a37a commit 17364a5

File tree

3 files changed

+37
-19
lines changed

3 files changed

+37
-19
lines changed

.whitesource

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"checkRunSettings": {
3+
"vulnerableCheckRunConclusionLevel": "failure"
4+
},
5+
"issueSettings": {
6+
"minSeverityLevel": "LOW"
7+
}
8+
}

atlassian/bamboo.py

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
class Bamboo(AtlassianRestAPI):
99
def _get_generator(self, path, elements_key='results', element_key='result', data=None, flags=None,
10-
params=None, headers=None):
10+
params=None, headers=None, max_results=None):
1111
"""
1212
Generic method to return a generator with the results returned from Bamboo. It is intended to work for
1313
responses in the form:
@@ -27,22 +27,21 @@ def _get_generator(self, path, elements_key='results', element_key='result', dat
2727
:param path: URI for the resource
2828
:return: generator with the contents of response[elements_key][element_key]
2929
"""
30-
size = 1
3130
start_index = 0
32-
while size:
33-
params['start-index'] = start_index
34-
response = self.get(path, data, flags, params, headers)
35-
results = response[elements_key]
36-
size = results['size']
37-
# Check if start index was reset when reaching the end of the pages list
38-
if results['start-index'] < start_index:
39-
break
40-
for r in results[element_key]:
41-
yield r
42-
start_index += results['max-result']
43-
44-
def base_list_call(self, resource, expand, favourite, clover_enabled, max_results, label=None, start_index=0,
45-
**kwargs):
31+
params['start-index'] = start_index
32+
response = self.get(path, data, flags, params, headers)
33+
results = response[elements_key]
34+
size = 0
35+
36+
# Check if we still can get results
37+
if size > max_results or results['size'] == 0:
38+
return
39+
for r in results[element_key]:
40+
size += 1
41+
yield r
42+
start_index += results['max-result']
43+
44+
def base_list_call(self, resource, expand, favourite, clover_enabled, max_results, label=None, start_index=0, **kwargs):
4645
flags = []
4746
params = {'max-results': max_results}
4847
if expand:
@@ -57,10 +56,11 @@ def base_list_call(self, resource, expand, favourite, clover_enabled, max_result
5756
if 'elements_key' in kwargs and 'element_key' in kwargs:
5857
return self._get_generator(self.resource_url(resource), flags=flags, params=params,
5958
elements_key=kwargs['elements_key'],
60-
element_key=kwargs['element_key'])
59+
element_key=kwargs['element_key'],
60+
max_results=max_results)
6161
params['start-index'] = start_index
6262
return self.get(self.resource_url(resource), flags=flags, params=params)
63-
63+
6464
def get_custom_expiry(self, limit=25):
6565
"""
6666
Get list of all plans where user has admin permission and which override global expiry settings.
@@ -372,6 +372,16 @@ def create_branch(self, plan_key, branch_name, vcs_branch=None, enabled=False, c
372372
cleanupEnabled='true' if cleanup_enabled else 'false')
373373
return self.put(self.resource_url(resource), params=params)
374374

375+
def get_branch_info(self, plan_key, branch_name):
376+
"""
377+
Get information about a plan branch
378+
:param plan_key:
379+
:param branch_name:
380+
:return:
381+
"""
382+
resource = 'plan/{plan_key}/branch/{branch_name}'.format(plan_key=plan_key, branch_name=branch_name)
383+
return self.get(self.resource_url(resource))
384+
375385
def enable_plan(self, plan_key):
376386
"""
377387
Enable plan.

atlassian/confluence.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ def attach_content(self, content, name, content_type='application/binary', page_
443443
path = 'rest/api/content/{page_id}/child/attachment'.format(page_id=page_id)
444444
# Check if there is already a file with the same name
445445
attachments = self.get(path=path, headers=headers, params={'filename': name})
446-
if attachments['size']:
446+
if attachments.get('size'):
447447
path = path + '/' + attachments['results'][0]['id'] + '/data'
448448
return self.post(path=path, data=data, headers=headers,
449449
files={'file': (name, content, content_type)})

0 commit comments

Comments
 (0)