2017-02-28 43 views
1

我已经创建了一个jenkins作业,它被参数化。参数即HH,MM,日期等。所以,这个版本是并发启用的。我的想法是,只要这项工作是通过特定的HH,MM和DAY值触发的,那么此作业的子作业必须在特定时间安排。如何根据输入参数计划/触发jenkins作业?

我认为,Build Periodically对此不起作用。 参数化调度程序如何? 你能帮我解决一下可行吗?

回答

0

您可以使用hudson.model.Queue.schedule()方法尝试使用Groovy脚本安排作业。

,我能想到的
def job = hudson.model.Hudson.instance.getJob("myjob") 
// You need a dummy parameter to avoid duplicate job cancellation 
def now = System.currentTimeMillis() 
def params = new StringParameterValue('DUMMY', String.valueOf(now)) 
def paramsAction = new ParametersAction(params) 
def cause = new hudson.model.Cause.UpstreamCause(currentBuild) 
def causeAction = new hudson.model.CauseAction(cause) 
// Here you need to define the quiet period according to your paramters 
def quietPeriod = 12345 
def waitingItem = hudson.model.Hudson.instance.queue.schedule(job, quietPeriod, causeAction, paramsAction)