choice vs booleanparam(两者都不工作)

问题描述 投票:0回答:1

我正在创建一个 jenkins/groovy 设置来创建一个仪表板(使用参数构建 - 在 Jenkins 中)供用户输入值。 太胖了,我很擅长这些设置。我使用的脚本是:

parameters([
    choice(name: "Environment", 
           choices: ['Dev', 'QA', 'PRD'], 
           description: 'Select Env', required: true),

    choice(name: 'Select Type', 
           choices: ['EC2', 'EKS', 'ECS'], 
           description: 'Select type'),

    choice(name: 'permission', 
          choices: ['user', 'service account', 'policy'], 
          description: 'Select permission'),

    string(name: "TeamDL", 
           description: 'Provide Team Name', required: true),

    string(name: "ProductType", 
           description: 'Enter the product name', required: true),
           
    string(name: 'TeamWork', 
           description: 'Provide team DL', required: true),
])

在上面的脚本中,我试图为“选择类型”提供多选选项,例如用户应该能够从列表中选择 EC2 & EKS & ECS(全部三个)或仅两个选项。 所以我尝试用'booleanparam'替换'choice'(通过在线研究发现)并用booleanparam替换它使选项完全消失。

不知道我怎么能在这里实现这个选项伙计们..

关于如何在这里结束我的仪表板的任何提示,感谢您的帮助。

干杯!

Jenkins 仪表板中的多选选项(使用参数构建)

jenkins groovy jenkins-pipeline jenkins-groovy
1个回答
0
投票

您混合使用声明式和脚本化管道语法来定义参数。

choice()
只支持单选

parameters([
  # It's scripted style to define parameters
])

parameters {
  # it's declarative style to define parameters
}

如果你的 Jenkins 支持

extendedChoice
参数类型并且你的 Jenksinfile 使用声明式风格,你的案例可以按如下方式完成:

parameters {
    choice(name: "Environment", 
           choices: ['Dev', 'QA', 'PRD'], 
           description: 'Select Env', required: true)

    extendedChoice(name: 'Type', type: 'PT_CHECKBOX', value: 'EC2,EKS,ECS', 
                   multiSelectDelimiter: ',', quoteValue: true, 
                   description: 'Select type')

    choice(name: 'permission', 
          choices: ['user', 'service account', 'policy'] 
          description: 'Select permission'),

    string(name: "TeamDL", 
           description: 'Provide Team Name', required: true)

    string(name: "ProductType", 
           description: 'Enter the product name', required: true)

    string(name: 'TeamWork', 
           description: 'Provide team DL', required: true)
}
© www.soinside.com 2019 - 2024. All rights reserved.