我的Jenkinsfile中有一些参数如下:
properties(
[parameters([
[$class: 'ValidatingStringParameterDefinition',
defaultValue: '',
description: 'regex param',
failedValidationMessage: '',
name: 'VSTRING',
regex: '.+'
],
[$class: 'StringParameterDefinition',
defaultValue: 'some string',
description: 'string param',
name: 'STRING',
trim: false
],
[$class: 'ChoiceParameterDefinition',
name: 'CHOICE',
choices: 'a\nb\nc',
description: 'coice param'
]
])]
)
我不想在Jenkinsfile中定义这些参数,而是想从外部加载它。例如,通过解析JSON文件,我在其中定义参数。
我知道如何创建JSON对象(使用
shared libraries
要加载json文件和groovy脚本以将内容解析为json对象),我可以执行以下操作:
def jsonString = libraryResource 'params.json'
def myParams = jsonParse(jsonString)
我想这样做:
properties(
[parameters([
myParams
])]
)
许多不同的尝试都失败了。实际上,我不知道我的params的语法是怎样的。json必须看起来像——或者如果这真的有效的话。
希望您对如何从Jenkinsfile外部加载我的参数定义有一些想法。