我创建了一个Groovy脚本,该脚本用于System Groovy ScriptJenkins作业中的一个步骤,该作业需要访问当前作业的当前版本.
当使用Hudson.model Cause.UpstreamCause将当前作业的当前构建链接到我正在调度的依赖作业时,需要当前构建.
由于代码更简洁:
my-job-step.groovy:
def scheduleDependentJob(jobName) {
def fooParam = new StringParameterValue('foo', 'bar');
def paramsAction = new ParametersAction(fooParam)
println "Scheduling dependent job"
def currentJob = ???
def cause = new Cause.UpstreamCause(currentBuild)
def causeAction = new hudson.model.CauseAction(cause)
instance.queue.schedule(job, 0, causeAction, paramsAction)
}
Run Code Online (Sandbox Code Playgroud)
的CauseAction构造(见于http://javadoc.jenkins-ci.org/hudson/model/Cause.UpstreamCause.html)需要一个Run对象,该对象的当前生成对象应的一个实例.我只是找不到一个很好的方法来获取Groovy脚本中当前正在运行的作业.