构建一个Jenkins作业,该作业使用成功构建的参数触发所有其他作业

lh80um4z  于 2022-09-20  发布在  Jenkins
关注(0)|答案(1)|浏览(239)

我有一个小的改变,我需要推动,它影响到我们所有的60个工作岗位(JenkinsFiles)。我想首先测试每个工作(在集成)与该变化。为了高效地做到这一点,我正在考虑构建一个新的作业,当每个作业的参数都取自成功完成的最后一次生产运行时,它会触发所有这60个作业。我已经开始建造它了--目前的障碍是从最近成功的跑步中提取参数。如果有人有更好的办法来测试这个,我也想听听。

更多数据可以帮助您帮助我:-我们正在使用多分支管道进行集成-我们正在使用Groovy

谢谢!

a5g8bdjr

a5g8bdjr1#

您可以使用Jenkins API获取以前构建的环境值,然后获取所需的参数:

//Get the job
projectJob = Jenkins.instance.getItemByFullName('PathOf/DesiredJobToGetParamsOf/master/')

//Get last successful build
env = projectJob.getLastSuccessfulBuild().getEnvVars()

// In env you get a list like: 
// [BRANCH_IS_PRIMARY:true, 
// BRANCH_NAME:master, 
// BUILD_DISPLAY_NAME:#29, 
// BUILD_ID:29,<many more>..., 
// param1:value1]

//Use the value of the desired parameter (e.g. "param1")
println(env["param1"])

//Output: "value1"

相关问题