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:
for raw in action['parameters']:
parameters.append(Parameter(raw['_class'], raw['name'],
raw.get('value', '')))
break
return parameters
[docs] def get_causes(self):
for action in self.api_json()['actions']:
if 'causes' in action:
return action['causes']
return []