2017-02-28 75 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)