【问题标题】:Parameterized Jenkins job with dependent parameter具有相关参数的参数化 Jenkins 作业
【发布时间】:2018-08-14 15:34:25
【问题描述】:

我正在尝试创建一个具有相关参数的 Jenkins 作业。

首先我希望能够选择一个主要参数: 其次,能够从一组选项中进行选择,这些选项是主参数的相关参数。

如果我选择不同的主参数:

然后我希望有一组不同的选项作为第二个主要参数的依赖项。

请问,您能帮我解决这个问题吗?

【问题讨论】:

  • 您可能想查看一个新的 Jenkins 插件,您可以使用它来实现您的目标。请在下面查看我的答案;-)

标签: jenkins


【解决方案1】:

对于所有偶然发现相同问题的人(就像我一样)。有一个相当新的 Jenkins 插件可以完全满足这里的要求:显示一组相关的下拉菜单,当主框更改选择时更新相关框。

对于您的工作,您只需执行以下步骤:

安装“多选参数插件”

“多选参数插件”可以从Jenkins插件管理中安装,文档在on its Jenkins Plugin page.

添加新参数

  1. 使用“多选参数”类型
  2. 将名称设置为合理的值
  3. 简要说明
  4. 如下图配置:
H,Main option,Dependent option
V,SELECTED_MAIN,SELECTED_DEPENDENT
C,A,Blue
C,A,Green
C,A,Yellow
C,B,Black
C,B,White
C,B,Grey

使用选定的值

当您在作业中运行“使用参数构建”时,会显示以下框以供选择:

在您的构建脚本中,您可以简单地使用配置的环境变量 SELECTED_MAINSELECTED_DEPENDENT,它们包含从两个选择框中选择的值。

【讨论】:

    【解决方案2】:

    我建议Active Choices plugin(也称为“uno-choice”)。 (This questionreferencesboth,尽管它们不是公认的答案。)

    对于您的特定用例,您需要在工作中添加两个参数:

    1. 主动选择参数

      • 名称:MainOption
      • 脚本:Groovy 脚本

        return ['A','B']
        
    2. 主动选择反应参数

      • 名称:DependentOption
      • 脚本:Groovy 脚本

        def choices
        switch(MainOption){
            case 'A':
                choices = ['Blue','Green','Yellow']
                break
            case 'B':
                choices = ['Black','White','Grey']
                break
            default:
                choices = ['N/A']
                break
        }
        return choices
        
      • 后备脚本:Groovy 脚本

        return ['Option error']
        
      • 参考参数

        MainOption
        

    “引用参数”设置是关键 - 当该值更改时,插件将重新评估 Groovy 脚本,为您提供依赖参数效果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      相关资源
      最近更新 更多