class Builds(object): def __init__(self, configfile='bamboo.cfg'): self.jira_user = '******' self.jira_password = '******' self.server_name = 'http://bamboo.rutube.ru:8085' parse_config(self, configfile) self.jira = JIRA({'server': self.server_name, 'rest_api_version': '1.0'}, basic_auth=(self.jira_user, self.jira_password)) @translate_resource_args def add_comment(self, build, body): data = { 'author': self.jira_user, 'content': body } url = self.jira._get_url('result/' + build + '/comment') r = self.jira._session.post(url, headers={'content-type':'application/json'}, data=json.dumps(data)) raise_on_error(r) @translate_resource_args def run_plan(self, plan, **extra_variables): params = None if extra_variables: params = {} for k, v in extra_variables.items(): params['bamboo.variable.%s' % k] = v url = self.jira._get_url('queue/%s' % plan) print "POST %s" % url r = self.jira._session.post(url, headers={'content-type':'application/json'}, params=params, data=json.dumps({})) raise_on_error(r)