当前位置: 首页 > 面试题库 >

如何从JobDSL脚本中访问Jenkins作业参数列表?

齐胜涝
2023-03-14
问题内容

我想保存传递给JobDSL作业的参数。我知道我可以引用各个参数,但是我想使代码通用。我将如何访问传递给作业的参数列表?

当前代码如下所示:

final jobParameters = new File('parameters')
jobParameters.write("""
    |AOEU=${AOEU}
    |SNTH=${SNTH}
"""[1..-1].stripMargin().trim())

我希望能够使其看起来像:

final jobParameters = new File('parameters')
jobParameters.write(params.iterator().join('\n'))

params 是构建流程插件中可用的内容,而JobDSL插件中没有。


问题答案:

DSL不提供对构建参数的访问。但是脚本可以访问Jenkins对象模型,因此您可以使用Jenkins API来检索当前构建及其参数:

import hudson.model.*

Build build = Executor.currentExecutor().currentExecutable
ParametersAction parametersAction = build.getAction(ParametersAction)
parametersAction.parameters.each { ParameterValue v ->
    println v
}


 类似资料:
  • 你好,詹金斯的朋友们, 我创建了一个JenkinsFreestyle项目,其中包含“执行Groovy脚本”步骤。从脚本中,我想在同一个Jenkins服务器上触发另一个参数化作业。 有人知道我该怎么做吗?

  • 问题内容: 这是我的一部分: 这是商品阅读器: 这是Spring Batch在运行时所说的: 怎么了 在Spring 3.0中,我在哪里可以了解有关这些机制的更多信息? 问题答案: 如前所述,您的阅读器需要进行“逐步”调整。您可以通过注释完成此操作。如果您将该注释添加到阅读器,则它应该对您有用,如下所示: 该范围默认情况下不可用,但是如果您正在使用XML名称空间,则该范围将不可用。如果不是这样,请

  • 问题内容: 有人知道您是否可以从具有参数的JobDSL中运行Jenkins的工作吗? 我已经使用了队列https://jenkinsci.github.io/job-dsl- plugin/#path/queue 但是根据文档,它仅接受字符串或Job对象。也许有一种方法可以对Job对象进行处理,但是还不清楚。从JobDSL文档: 问题答案: 有同样的问题并且在文档中找不到答案,所以我现在按照这个例

  • 是否可以从Groovy脚本运行jenkins作业? 我知道这是可能的运行詹金斯的工作从管道像这样 生成作业:“测试” 这也不起作用 构建(“测试”) 错误 生成作业:“测试” 编辑后执行系统Groovy脚本并添加 我在Hudson.instance.queue这条线上出错了。计划(作业,0,causeAction,paramsAction) 构建步骤“执行系统Groovy脚本”将构建标记为失败

  • 我们有一个Jenkins构建,它在Jenkins1.596.2上成功运行,我们正在迁移到运行Jenkins2.60.1的新构建机器 作为构建配置的一部分,我们有一个可扩展的Choice参数,并使用系统Groovy Choice参数作为选择提供者。然后,我们使用Groovy脚本获取选择列表。 此Groovy脚本需要访问Jenkins构建环境变量之一,该变量设置在构建配置的全局属性部分(在环境变量下)