Jenkins动态参数基于先前选择的参数值

时间:2013-03-27 07:38:47

标签: jenkins hudson jenkins-plugins hudson-plugins

这里我基本上在寻找一个依赖参数。

假设我在构建参数部分有两个下拉列表。基于从第一个下拉列表中选择的值,可能的默认值 我希望第二个下拉列表的值有所不同。

是否有任何插件或方法可以有效地处理此要求?

7 个答案:

答案 0 :(得分:10)

这正是您所寻找的: https://github.com/biouno/uno-choice-plugin/wiki/Uno-Choice-Cascade-Dynamic-Choice-Parameter

它似乎是一个隐藏的宝石,到目前为止在任何类似问题中都找不到它。

答案 1 :(得分:5)

我没有使用它,但看起来以下插件可能会做你想要的:

Jenkins参数插件,允许两个选择元素。第二个选择将根据为第一个选择所做的选择填充值。

https://github.com/tekante/Dynamic-Jenkins-Parameter/wiki

答案 2 :(得分:5)

此处提供了具有此功能的新插件(以及更多内容):https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin

维基页面包含几个用法示例和代码

答案 3 :(得分:2)

让我们保持简单,这是逐步实现所需的步骤。
1.在您的Jenkins中安装Active Choices插件。
2.添加一个主动选择参数 enter image description here

  1. 添加“主动选择主动参数”。 enter image description here

4。单击“应用”,然后单击“保存”。
完成。 !!!
如果遇到任何问题,请发表评论。

答案 4 :(得分:1)

This是你想要实现的目标吗?

然后您可以继承hudson.model.ChoiceParameterDefinition,并覆盖其getChoicesText的方法。根据您的需要返回选项,在您的情况下,您可以从Hudson.getInstance()获得环境。

下面的代码段显示了如何获取环境变量。

Hudson.getInstance().getGlobalNodeProperties()
       .get(EnvironmentVariablesNodeProperty.class).getEnvVars().get(name);

Here是类似的问题。

答案 5 :(得分:0)

这应该可以让你单步选择,多选和在关卡中执行 https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin

答案 6 :(得分:0)

这里是例子,我想在寻找这个问题时找到它;

这是使用Jenkins作业DSL创建主动选择反应参数的方法。

activeChoiceReactiveParam('PARAMETER_NAME') {
    description('Parameter description')
    filterable()
    choiceType('SINGLE_SELECT')
    groovyScript {
        script('return [ANOTHER_PARAMETER + ".suffix", ANOTHER_PARAMETER + ".suffix2"]')
        fallbackScript('return ["NotFound"]')
    }
    referencedParameter('ANOTHER_PARAMETER')
}

注意:如果通过DSL导入作业不起作用,则只需“配置”和“保存”即可。有一个错误:JENKINS-42655