Jenkinsfile中的动态参数?

时间:2016-11-23 07:10:39

标签: jenkins jenkins-pipeline

如何在Jenkinsfile中使用Jenkins Dynamic Plugin

我正在寻找的是一个Jenkinsfile片段:

  • 在Jenkins作业中启用Build with Parameters选项
  • 选中此选项后,将填充一个填充可以使用的列表Dynamic Choice Parameters的脚本,用户将看到一个下拉列表。

尝试时:

    詹金斯编辑
  1. Pipeline syntax
  2. 选择properties: Set job propertiesSample step
  3. 选择This project is parameterized
  4. 使用Dynamic Choice Parameter
  5. 输入NameChoice ScriptRemote Script
  6. 的值
  7. Generate Pipeline Script
  8. 我得到以下模板:

    properties([
        parameters([
            <object of type com.seitenbau.jenkins.plugins.dynamicparameter.ChoiceParameterDefinition>
        ]), 
        pipelineTriggers([])
    ])
    

    即。生成的管道脚本不包含我在上面的步骤5.中输入的数据。如何修改parameters以便用户可以看到参数名称,选项等?

    Jenkins版本:2.19.3 动态参数插件版本:0.2.0

1 个答案:

答案 0 :(得分:6)

Jenkins Dynamic Plugin不再需要了。只需使用普通选择或字符串参数,并通过groovy代码更新值。

#!/bin/groovy

def envs = loadEnvs();

properties([
   parameters([
      choice(choices: envs, description: 'Please select an environment', name: 'Env')
   ])
])

node { 
   try {
      stage('Preparation'){
...

如果您使用choice参数,请注意您必须提供一个字符串,其中值以新行分隔。

例如:

"a\nb\nc"

如果您确实需要插件,请对此问题进行投票JENKINS-42149