diff options
author | Lars Wirzenius <liw@liw.fi> | 2012-09-22 02:19:37 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2012-09-22 02:19:37 +0100 |
commit | 5520d332cf2dbe9dda551daa20d79252b0d9ba27 (patch) | |
tree | 6753a97861cc0fcff3bd4e35486f3b5e2c526078 /jenkinstool | |
parent | ed4ca896a6214b4ef1c07cd8a40b47bac3fbb9ae (diff) | |
download | jenkinstool-5520d332cf2dbe9dda551daa20d79252b0d9ba27.tar.gz |
Nicer progress reporting
Diffstat (limited to 'jenkinstool')
-rwxr-xr-x | jenkinstool | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/jenkinstool b/jenkinstool index 8c1449b..21b4497 100755 --- a/jenkinstool +++ b/jenkinstool @@ -23,6 +23,7 @@ import json import logging import StringIO import time +import ttystatus from xml.etree import ElementTree as ET import simplejenkinsapi @@ -755,26 +756,31 @@ class JenkinsTool(cliapp.Application): for job_id in jenkins.list_jobs(): if job_id not in job_ids: jenkins.delete_job(job_id) - - print 'jobs:', job_ids + ts = ttystatus.TerminalStatus(period=0) + ts.format('Running job %Index(job,jobs) %String(job)') + ts['jobs'] = job_ids + for job_id in job_ids: - print 'running', job_id + ts['job'] = job_id prev = latest = jenkins.get_latest_build_number(job_id) - print 'prev:', repr(prev) jenkins.run_job(job_id) while latest == prev: time.sleep(1) latest = jenkins.get_latest_build_number(job_id) - print 'latest:', repr(latest) while True: time.sleep(1) info = jenkins.get_build_info(job_id, latest) if info['result'] is not None: break if info['result'] != 'SUCCESS': - raise cliapp.AppException('Job %s failed' % job_id) - + ts.clear() + ts.finish() + url = '%s/job/%s/%s/console' % \ + (self.settings['jenkins-host'], job_id, latest) + raise cliapp.AppException('Job %s failed: %s' % (job_id, url)) + + ts.finish() JenkinsTool(version=simplejenkinsapi.__version__).run() |