简体   繁体   English

从 groovy 脚本触发参数化 Jenkins 作业

[英]Trigger parameterized Jenkins job from groovy script

Hello Jenkins friends,詹金斯的朋友们,你好,

I created a Jenkins Freestyle project that contains the step "Execute Groovy Script".我创建了一个 Jenkins Freestyle 项目,其中包含“执行 Groovy 脚本”步骤。 From the script, I want to trigger another parameterized job on the same Jenkins server.从脚本中,我想在同一个 Jenkins 服务器上触发另一个参数化作业。

Does anybody know how I can do this?有谁知道我怎么能做到这一点?

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
}
def triggerBuild(parameter1, parameter2) {
  build job: 'foo', parameters: [
    string(name: 'param1', value: parameter1),
    string(name: 'param2', value: parameter2),
  ]
}

Be sure to invoke triggerBuild() inside script block.确保在script块内调用triggerBuild()

OK, I finally got a solution.好的,我终于找到了解决方案。 My script looks as follows:我的脚本如下所示:

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))
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM