diff options
Diffstat (limited to 'jenkinstool')
-rwxr-xr-x | jenkinstool | 30 |
1 files changed, 16 insertions, 14 deletions
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') @@ -688,27 +685,32 @@ class JenkinsTool(cliapp.Application): 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: |