From 4f29f6742410736016b568002d8569f19d786841 Mon Sep 17 00:00:00 2001 From: Vojtech Juranek Date: Fri, 3 May 2013 01:49:30 +0200 Subject: [PATCH] Use preferred URL scheme for jobs Some Jenkins instances are configured to allow reading the data over HTTP scheme, while for manipulating with data (e.g. create or delete job) HTTPS scheme is required. Allow user to specify preferred URL scheme (by specifying Jenkins URL) and use this scheme also manipulations with jobs. --- jenkinsapi/jenkins.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jenkinsapi/jenkins.py b/jenkinsapi/jenkins.py index cb4b0b1..5ee55f1 100644 --- a/jenkinsapi/jenkins.py +++ b/jenkinsapi/jenkins.py @@ -318,7 +318,10 @@ class Jenkins(JenkinsBase): """ for url, name in self.get_jobs_info(): if name == jobname: - return Job(url, name, jenkins_obj=self) + preferred_scheme = urlparse.urlsplit(self.baseurl).scheme + url_split = urlparse.urlsplit(url) + preffered_url = urlparse.urlunsplit([preferred_scheme, url_split.netloc, url_split.path, url_split.query, url_split.fragment]) + return Job(preferred_url, name, jenkins_obj=self) raise UnknownJob(jobname) def get_node_dict(self): -- 2.7.4