具有动态参数的詹金斯管道
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有动态参数的詹金斯管道相关的知识,希望对你有一定的参考价值。
我有一个在Windows上运行多个代理的Jenkins。我想要一个带有动态参数的管道,该管道应填充Windows代理上的文件夹列表。我得到以下代码:
def listSDKVersions() {
return{
agent { label 'windows' }
stage {
bat "dir Z:\\ /b"
}
}
}
def SDKVersions = listSDKVersions()
pipeline {
agent { label 'windows && docker' }
parameters {
choice(name: 'SDK', choices: SDKVersions , description: 'SDK Version')
}
}
但是当我执行它时,出现以下错误:
java.lang.IllegalArgumentException: expected String or List, but got org.jenkinsci.plugins.workflow.cps.CpsClosure2
at hudson.model.ChoiceParameterDefinition.setChoices(ChoiceParameterDefinition.java:105)
有人知道如何正确执行此操作,或者甚至可能吗?
答案
让它像这样运行:
def listSDKVersions() {
return{
node('windows'){
def folders = bat(script:"@dir Z:\\ /b", returnStdout:true)
return folders
}
}
}
def SDKVersions = listSDKVersions().call()
pipeline {
agent { label 'windows && docker' }
parameters {
choice(name: 'SDK', choices: SDKVersions , description: 'SDK Version')
}
}
以上是关于具有动态参数的詹金斯管道的主要内容,如果未能解决你的问题,请参考以下文章