Jenkins:如何在声明式流水线中使用选择参数?

20

1
你缺少换行符来分隔选项 - "Option1\nOption2" - mkobit
谢谢@mkobit,那确实是个问题。 - user1316502
3个回答

26
声明式Jenkins流水线的文档中提到: 一个选择参数,例如:
pipeline { 
    .....
     parameters { 
       choice(name: 'CHOICES', choices: ['one', 'two', 'three'], description: '') }

第一个是默认值


相关文档链接:https://www.jenkins.io/doc/book/pipeline/syntax/#parameters - Kristof Jozsa

23

你需要使用\n代替\。看一下这段代码:

  pipeline {
  agent any
  parameters {
    choice(
        name: 'myParameter',
        choices: "Option1\nOption2",
        description: 'interesting stuff' )
  }
}

2
有没有计划支持动态参数,以便我可以从调用共享库的结果中填充选项?这个关键功能目前还缺失。 - Andrew Gray

10

分离选项的最优雅的方式之一是使用数组,如下所示:

pipeline {
  agent any
  parameters {
    choice(
      name: 'Env',
      choices: ['DEV', 'QA', 'UAT', 'PROD'],
      description: 'Passing the Environment'
    )
  }
  stages {
    stage('Environment') {
      steps {
        echo " The environment is ${params.Env}"
      }
    }
  }
}

1
请格式化您的答案以提高可读性。此外,请添加有关您发布的代码的一些说明。 - Adam Michalik
这个有变化吗?当我尝试添加多个参数时,会出现“期望块参数”的异常。 - mike01010

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接