按作业名称和生成id获取Jenkins生成的参数

按作业名称和生成id获取Jenkins生成的参数,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我正在使用Jenkins管道插件,我需要从其他作业中通过id和作业名获取特定构建的所有参数。 所以,基本上我需要这样的东西 def job = JobRegistry.getJobByName(jobName) def build = job.getBuild(buildId) Map parameters = build.getParameters() println parameters['SOME_PARAMETER'] 我建议您查看管道作业中管道插件底部的“管道语法”,您可以看到全局变

我正在使用Jenkins管道插件,我需要从其他作业中通过id和作业名获取特定构建的所有参数。 所以,基本上我需要这样的东西

def job = JobRegistry.getJobByName(jobName)
def build = job.getBuild(buildId)
Map parameters = build.getParameters()
println parameters['SOME_PARAMETER']
我建议您查看管道作业中管道插件底部的“管道语法”,您可以看到全局变量引用,如docker/Pipeline/env/etc

因此,您需要的是“env”列表中给出的作业名称/构建ID,我已经找到了。 我可以像这样检索参数

def parameters = Jenkins.instance.getAllItems(Job)
                        .find {job -> job.fullName == jobName }
                        .getBuildByNumber(buildId.toInteger())
                        .getAction(hudson.model.ParametersAction)

println parameters.getParameter('SOME_PARAMETER').value

我不需要当前作业的作业名称和生成id。我需要从另一个作业中检索另一个构建的参数。那么使用curl激活另一个作业怎么样?通过这种方式,您可以使用
Jenkins.getInstance().getItemByFullName(jobName)
跳过
查找
;请参见此
.getAction(hudson.model.ParametersAction)
始终返回
null
:(