在安排Jenkins作业执行时,是否可以指定要使用的参数?

时间:2017-02-21 14:47:53

标签: jenkins parameters jenkins-plugins schedule

我目前正在使用Jenkins安排参数化作业。其中一个包含Active Choices参数,该参数生成可供选择的参数值列表。

在我安排工作时,有没有办法为此参数指定我想要的默认值?

希望问题很清楚......

3 个答案:

答案 0 :(得分:1)

如果您仍希望使用有效选择参数,则会在计划时默认使用列表的第一个参数。所以当有选项列表时:

['ONE:selected','TWO:selected','TREE:selected','FOUR:selected']

当由timer(预定)执行时,参数默认为:

ONE:selected

此插件的作者在此处描述了此行为:
https://issues.jenkins-ci.org/browse/JENKINS-33473

答案 1 :(得分:0)

如果作业本身已安排,则Active Choices参数值的 first 值将成为默认值。

Active Choices Plugin, Making 'Default' selections中描述的默认值选择:将后缀:selected添加到值,仅适用于手动构建。

解决方法是:

  1. 为您的工作创建上游工作。
  2. 相应地安排此上游工作。
  3. 添加构建后操作 在其他项目上触发参数化构建

    要构建的项目Your downstream project

    Parameterized Trigger plugin提供。

  4. 添加参数 预定义参数

    参数ParameterNameInYourDownstreamProject=DefaultValue

答案 2 :(得分:0)

我有同样的问题,这是我设置默认值的解决方法:

# chmod 644 /etc/php.ini
# ls -al /etc/php.ini
-rw-r--r--  1 root root 45022 Jun  6 23:00 /etc/php.ini

它将返回以下列表:

def list = ['ONE:selected','TWO:selected','TREE:selected','FOUR:selected']
def listAsString = list.join(',')
def defaultValues = listAsString.replace(':selected','') 
def selectedValues = listAsString.tokenize(',') 
return  [defaultValues] + selectedValues 

在这种情况下,UI中的第一个选项将是“ ONE,TWO,TREE,FOUR”,因此在计时器触发的情况下,它将是默认值。 如果您手动触发,默认情况下会选择分隔的值。