从groovy脚本触发参数化Jenkins作业
你好,詹金斯,朋友们 我创建了一个Jenkins Freestyle项目,其中包含step Execute Groovy脚本。从脚本中,我想在同一个Jenkins服务器上触发另一个参数化作业 有人知道我怎么做吗从groovy脚本触发参数化Jenkins作业,jenkins,groovy,jenkins-pipeline,jenkins-groovy,Jenkins,Groovy,Jenkins Pipeline,Jenkins Groovy,你好,詹金斯,朋友们 我创建了一个Jenkins Freestyle项目,其中包含step Execute Groovy脚本。从脚本中,我想在同一个Jenkins服务器上触发另一个参数化作业 有人知道我怎么做吗 def triggerBuild(paramter1, paramter2) { // trigger job with name "foo" and set the paramters param1 and param2 //to the values of the va
def triggerBuild(paramter1, paramter2) {
// trigger job with name "foo" and set the paramters param1 and param2
//to the values of the variables parameter1 and parameter2
}
确保在脚本块内调用triggerBuild。好的,我终于找到了解决方案。我的脚本如下所示:
import hudson.model.*;
triggerBuild()
def triggerBuild(parameter1, parameter2) {
def job = Hudson.instance.getJob('foo')
def params = [
new StringParameterValue('param1', 'value1'),
new StringParameterValue('param1', 'value2')
]
def future = job.scheduleBuild2(0, new ParametersAction(params))
}
thx是的,它在整个groovy脚本文件中运行,该文件通过作业配置的“构建”部分中的“执行groovy脚本”包含。我需要进口包裹吗?您的解决方案导致我的类没有名为“build”的方法,您必须从Jenkins管道内部调用它-看到没有其他可能性了吗?由于我有freestyle项目,所以我没有脚本化的管道
import hudson.model.*;
triggerBuild()
def triggerBuild(parameter1, parameter2) {
def job = Hudson.instance.getJob('foo')
def params = [
new StringParameterValue('param1', 'value1'),
new StringParameterValue('param1', 'value2')
]
def future = job.scheduleBuild2(0, new ParametersAction(params))
}