From 49581858a6a1c8a170016d6ee4dc4661d32a0b01 Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Tue, 13 Nov 2012 23:14:16 -0500 Subject: [PATCH] Add the ability to create a jenkins job Signed-off-by: Paul Belanger --- jenkinsapi/jenkins.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/jenkinsapi/jenkins.py b/jenkinsapi/jenkins.py index 7875697..f23a2c1 100644 --- a/jenkinsapi/jenkins.py +++ b/jenkinsapi/jenkins.py @@ -156,9 +156,24 @@ class Jenkins(JenkinsBase): """ return jobname in self.get_jobs_list() + def create_job(self, jobname, config): + """ + Create a job + :param jobname: name of new job, str + :param config: configuration of new job, xml + :return: new Job obj + """ + headers = {'Content-Type': 'text/xml'} + qs = urllib.urlencode({'name': jobname}) + url = urlparse.urljoin(self.baseurl, "createItem?%s" % qs) + request = urllib2.Request(url, config, headers) + self.post_data(request, None) + newjk = self._clone() + return newjk.get_job(jobname) + def copy_job(self, jobname, newjobname): """ - Copy a job + Copy a job :param jobname: name of a exist job, str :param newjobname: name of new job, str :return: new Job obj -- 2.7.4