Source code for api4jenkins.mix
# encoding: utf-8
# pylint: disable=no-member
from collections import namedtuple
[docs]
class DeletionMixIn:
[docs]
def delete(self):
self.handle_req('POST', 'doDelete', allow_redirects=False)
[docs]
class ConfigurationMixIn:
@property
def name(self):
return self.url.split('/')[-2]
[docs]
class DescriptionMixIn:
[docs]
def set_description(self, text):
self.handle_req('POST', 'submitDescription',
params={'description': text})
[docs]
class RunScriptMixIn:
[docs]
def run_script(self, script):
return self.handle_req('POST', 'scriptText',
data={'script': script}).text
[docs]
class EnableMixIn:
[docs]
def enable(self):
return self.handle_req('POST', 'enable')
[docs]
def disable(self):
return self.handle_req('POST', 'disable')
[docs]
class RawJsonMixIn:
[docs]
def api_json(self, tree='', depth=0):
return self.raw
Parameter = namedtuple('Parameter', ['class_name', 'name', 'value'])
[docs]
class ActionsMixIn:
[docs]
def get_parameters(self):
parameters = []
for action in self.api_json()['actions']:
if 'parameters' in action:
parameters.extend(Parameter(raw['_class'], raw['name'], raw.get(
'value', '')) for raw in action['parameters'])
break
return parameters
[docs]
def get_causes(self):
return next((action['causes'] for action in self.api_json()['actions'] if 'causes' in action), [])