From caf98f5698fe07d0f433b7c59835efa87d446d4d Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 15 Sep 2012 09:52:03 +0100 Subject: Get rid of overlapping config settings --- jenkinstool | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'jenkinstool') diff --git a/jenkinstool b/jenkinstool index e7f1533..2ffb017 100755 --- a/jenkinstool +++ b/jenkinstool @@ -676,9 +676,6 @@ class JenkinsTool(cliapp.Application): '''Manipulate jobs in running Jenkins CI server.''' def add_settings(self): - self.settings.string( - ['url', 'jenkins-url'], - 'URL to Jenkins server; this is a required setting') self.settings.boolean( ['pretend-jobs'], 'make generate-jobs create jobs that merely pretend to do things') @@ -687,28 +684,33 @@ class JenkinsTool(cliapp.Application): 'update pbuilder base.tgz if older than DAYS', metavar='DAYS', default=7) - self.settings.string( - ['artifacts-url'], - 'URL to artifact repository') self.settings.string( ['jenkins-host'], 'address of host running jenkins') + @property + def jenkins_url(self): + return 'http://%s:8080/' % self.settings['jenkins-host'] + + @property + def artifacts_url(self): + return 'http://%s/jenkins' % self.settings['jenkins-host'] + def cmd_list_jobs(self, args): '''List all jobs on the server.''' - jenkins = simplejenkinsapi.Jenkins(self.settings['url']) + jenkins = simplejenkinsapi.Jenkins(self.jenkins_url) for job_id in jenkins.list_jobs(): self.output.write('%s\n' % job_id) def cmd_delete_job(self, args): '''Remove specified jobs from server.''' - jenkins = simplejenkinsapi.Jenkins(self.settings['url']) + jenkins = simplejenkinsapi.Jenkins(self.jenkins_url) for job_id in args: jenkins.delete_job(job_id) def cmd_delete_all_jobs(self, args): '''Remove all jobs from server.''' - jenkins = simplejenkinsapi.Jenkins(self.settings['url']) + jenkins = simplejenkinsapi.Jenkins(self.jenkins_url) for job_id in jenkins.list_jobs(): jenkins.delete_job(job_id) @@ -719,7 +721,7 @@ class JenkinsTool(cliapp.Application): 'Need JOB-ID and CONFIG-FILENAME arguments') job_id, config_xml_filename = args with open(config_xml_filename) as f: - jenkins = simplejenkinsapi.Jenkins(self.settings['url']) + jenkins = simplejenkinsapi.Jenkins(self.jenkins_url) jenkins.create_job(job_id, f.read()) def cmd_update_job(self, args): @@ -729,18 +731,18 @@ class JenkinsTool(cliapp.Application): 'Need JOB-ID and CONFIG-FILENAME arguments') job_id, config_xml_filename = args with open(config_xml_filename) as f: - jenkins = simplejenkinsapi.Jenkins(self.settings['url']) + jenkins = simplejenkinsapi.Jenkins(self.jenkins_url) jenkins.update_job(job_id, f.read()) def cmd_generate_jobs(self, args): '''Generate jobs based on JSON format job specification file.''' - self.settings.require('artifacts-url') + self.settings.require('jenkins-host') - jenkins = simplejenkinsapi.Jenkins(self.settings['url']) + jenkins = simplejenkinsapi.Jenkins(self.jenkins_url) job_generator = JobGenerator(self.settings['pretend-jobs'], self.settings['pbuilder-max-age'], - self.settings['artifacts-url'], + self.artifacts_url, self.settings['jenkins-host']) created_job_ids = set() for filename in args: -- cgit v1.2.1