我在Pipelineconstant.groovy
文件中有以下代码:
public static final list ACTION_CHOICES = [
N_A,
FULL_BLUE_GREEN,
STAGE,
FLIP,
CLEANUP
]
和Jenkins多振打器文件中的参数:
parameters {
string (name: 'ChangeTicket', defaultValue: '000000', description : 'Prod change ticket otherwise 000000')
choice (name: 'AssetAreaName', choices: ['fpukviewwholeof', 'fpukdocrhs', 'fpuklegstatus', 'fpukbooksandjournals', 'fpukleglinks', 'fpukcasesoverview'], description: 'Select the AssetAreaName.')
/* groovylint-disable-next-line DuplicateStringLiteral */
choice (name: 'AssetGroup', choices: ['pdc1c', 'pdc2c'])
}
我希望在参数中引用ACTION_CHOICES
,如下所示:
choice (name: 'Action', choices: constants.ACTION_CHOICES, description: 'Multi Version deployment actions')
但对我没用。
我试着这么做:
choice (name: 'Action', choices: constants.ACTION_CHOICES, description: 'Multi Version deployment actions')
但对我没用。
1条答案
按热度按时间wn9m85ua1#
Jenkinsfile(s)可以用定义的变量/常量来扩展(直接在文件中定义,或者(更好的说法是)从Jenkins shared library(这个场景)中定义)。
管道中的参数语法和常量列表的思想都很好,但缺少什么:这些部分的正确链接-正确的库导入。参见下面的示例 (示例中下面的名称不是刻在石头上的,当然可以更改,但要注意-Jenkins对文件名、路径等非常敏感(尤其是在共享库中)):
Pipelineconstant.groovy
应放置在Jenkins共享库的src/org/pipelines
中。Pipelineconstant.groovy
然后你可以在Jenkinsfile管道中引用这个常量列表。
Jenkinsfile
管道的前两行很重要-第一行加载JSL本身!因此可以使用该导入的第二行(否则Jenkins将不知道在哪里找到
Pipelineconstant.groovy
文件。我在这里找到了针对脚本化管道讨论和解决的主题:Load jenkins parameters from external groovy file