根据同一作业

时间:2017-01-10 22:09:29

标签: jenkins groovy parameter-passing

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

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

所以,让我们说我有专门针对的构建前缀选择, 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 个答案:

答案 0 :(得分:1)

您可以使用EnvInject Plugin
选中复选框为运行准备环境和 在评估的Groovy脚本文本框

中编写脚本

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