首页 文章

基于来自同一作业的参数在Jenkins中生成动态参数

提问于
浏览
0

我有一个Jenkins构建版本,其中包含一个用于构建前缀的选项框 . 它有助于根据人们想要的任何特定构建的 Value 触发工作 .

我想获取该选项框的值,并根据通常在此服务器上使用的命名约定将变量转换为正确的前缀,以根据其名称触发作业 .

所以让's say I' ve专门为我们提供构建前缀选择, ReleaseOne ReleaseTwo none

对于 none ,意味着所使用的参数不会尝试通过触发非发布指定的构建来访问或设置任何特定的基于发布的信息 .

我想取 Release_Prefix 的值,并根据需要对我稍后触发的作业进行转换 . 我希望通过动态参数或类似机制来实现这一目标 . 我不确定我的脚本是否被窃听,或者根本不符合我的意图 . 根据类似问题的一些暗示反馈,可能就是这种情况 .

我可以在下面做这样的代码片段吗?如果没有动态参数插件GroovyScript,你会建议什么?无论我的选择如何,这似乎都没有回报 .

Formatted_Prefix 参数,动态参数

switch(binding.getVariables().get("Release_Prefix"))
{
    case "none":
        return "";
    case "ReleaseOne":
        return "ReleaseOne_";
    case "ReleaseTwo":
        return "ReleaseTwo_";
    default:
        def prefix = binding.getVariables().get("Release_Prefix")
        return "$prefix_";
}

我有多种方法可以克服这个问题,但如果我能在初始参数阶段做到这一点,那对我来说是最好的 .

1 回答

  • 1

    你可以使用EnvInject Plugin .
    选中复选框 Prepare an environment for the run 并在 Evaluated Groovy script 文本框中编写脚本

    def prefix1 = Release_Prefix“mydata”return [prefix:prefix1]

相关问题