diff --git a/jenkins_cli/cli.py b/jenkins_cli/cli.py index 897e6eb..6da29d0 100644 --- a/jenkins_cli/cli.py +++ b/jenkins_cli/cli.py @@ -236,9 +236,11 @@ def setbranch(self, args): print("Cannot set branch name") def start(self, args): + if args.bargs is not None: + args.bargs = dict([x.split(':') for x in args.bargs]) for job in args.job_name: job_name = self._check_job(job) - start_status = self.jenkins.build_job(job_name) + start_status = self.jenkins.build_job(job_name, parameters=args.bargs) print("%s: %s" % (job_name, 'started' if not start_status else start_status)) def _get_build_changesets(self, build): diff --git a/jenkins_cli/cli_arguments.py b/jenkins_cli/cli_arguments.py index b30fbed..3a2a90e 100644 --- a/jenkins_cli/cli_arguments.py +++ b/jenkins_cli/cli_arguments.py @@ -3,7 +3,6 @@ from jenkins_cli.cli import get_jobs_legend from jenkins_cli.version import version - def load_parser(): """ Create a parser and load it with CLI arguments @@ -23,6 +22,7 @@ def load_parser(): parser.add_argument('-e', '--environment', help='Which config section to use') + subparsers = parser.add_subparsers(title='Available commands', dest='jenkins_command') jobs_parser = subparsers.add_parser('jobs', @@ -41,6 +41,7 @@ def load_parser(): start_parser = subparsers.add_parser('start', help='Start job') start_parser.add_argument('job_name', help='Job to start', nargs='*') + start_parser.add_argument('--bargs', metavar='bargs', help='Build arguments. (in key1:value1 key2:value2 format)', nargs='*', default=None) start_parser = subparsers.add_parser('info', help='Job info') start_parser.add_argument('job_name', help='Job to get info for')