基于先前选择的参数值的Jenkins动态参数
这里我基本上是在寻找一个依赖参数 假设在构建参数部分有两个下拉列表。根据从第一个下拉列表中选择的值,选择可能的默认值 我希望第二个下拉列表的值有所不同 是否有任何插件或方法可以有效地处理此需求?是您想要实现的吗 然后您可以继承hudson.model.ChoiceParameterDefinition,并重写其方法基于先前选择的参数值的Jenkins动态参数,jenkins,hudson,jenkins-plugins,hudson-plugins,Jenkins,Hudson,Jenkins Plugins,Hudson Plugins,这里我基本上是在寻找一个依赖参数 假设在构建参数部分有两个下拉列表。根据从第一个下拉列表中选择的值,选择可能的默认值 我希望第二个下拉列表的值有所不同 是否有任何插件或方法可以有效地处理此需求?是您想要实现的吗 然后您可以继承hudson.model.ChoiceParameterDefinition,并重写其方法getChoiceText。根据需要返回选项,在您的情况下,可以从Hudson.getInstance()获取环境 下面的代码片段显示了如何获取环境变量 Hudson.getInsta
getChoiceText
。根据需要返回选项,在您的情况下,可以从Hudson.getInstance()
获取环境
下面的代码片段显示了如何获取环境变量
Hudson.getInstance().getGlobalNodeProperties()
.get(EnvironmentVariablesNodeProperty.class).getEnvVars().get(name);
是类似的问题。我没有使用过它,但看起来下面的插件可能会满足您的需要: Jenkins参数插件,允许两个选择元素。第二个选择根据为第一个选择所做的选择填充值
这正是您要寻找的:
它似乎是一块隐藏的宝石,到目前为止还没有在任何类似的问题中找到它。这里提供了一个具有此功能(以及更多)的新插件:
wiki页面包含多个使用示例和代码,这应该可以实现单选、多选和分级操作
让我们保持简单,下面是实现所需目标的一步一步的过程。
1.在Jenkins中安装Active Choices插件。
2.添加一个活动的选项参数
完成了
如果遇到任何问题,请发表评论。以下是我在寻找此问题时希望找到的示例 下面是使用Jenkins job 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导入作业不起作用,只需“配置”和“保存”。有一个错误:问题是基于同一表单上的参数更改列表。我不确定是否有一个简单的方法来实现这一点,但我希望看到一些关于如何做到这一点的示例代码。您(以及链接的答案)显示的方式使用了其他地方定义的现有信息,它不会根据相同形式的另一个下拉列表动态更改选项。似乎非常有限,在第一个下拉列表中只允许两个选项,因此,第二个下拉列表只有两个备选列表。在这个插件中可能执行Groovy吗?如果我想让第二个下拉列表从shell脚本的输出中获取值,我该怎么做?可能有点晚了,但如果其他人需要,正如插件中所述,与Jenkins社区共享并正式重命名为