jenkins - 如何在输入布尔参数中添加 ArrayList
问题描述
我想创建动态布尔参数:
pipeline {
agent { label 'master' }
stages {
stage('load stage'){
steps{
script{
def listParam =[]
listParam.add(booleanParam(name: 'a', defaultValue:false ))
listParam.add(booleanParam(name: 'b', defaultValue:false ))
listParam.add(booleanParam(name: 'c', defaultValue:false ))
def userId = input message: 'Please select a or b or c ',
ok : 'RUN',id :'userId',
parameters(listParam)
echo "userId ${userId}"
}
}
}
}
}
和控制台日志返回:
java.lang.IllegalArgumentException: 预期命名参数但得到 [{message=请选择 a 或 b 或 c, ok=RUN, id=userId}, @parameters(=[@booleanParam(name=a,defaultValue=false), @ booleanParam(name=b,defaultValue=false), @booleanParam(name=c,defaultValue=false)])] at org.jenkinsci.plugins.workflow.cps.DSL.parseArgs(DSL.java:588) at org.jenkinsci .plugins.workflow.cps.DSL.parseArgs(DSL.java:526)
解决方案
根据ref-doc,您希望将您的listParam
作为带有 key 的地图的一部分传递parameters
:
def listParam = [ booleanParam(name: 'a', defaultValue:false ),
booleanParam(name: 'b', defaultValue:false ),
booleanParam(name: 'c', defaultValue:false ), ]
def userId = input message: 'Please select a or b or c ',
ok : 'RUN',id :'userId',
parameters:listParam
推荐阅读
- matlab - 使用 OpenMP 在 Matlab 的 Mex 函数(Fortran)中并行化循环
- mysql - Sql Query从另一个表中获取包含多个ID的项目
- c++ - C++ 我试图结束这个无限循环以找到 0 和用户输入值之间的偶数
- csv - Jitterbit:虽然选中了“不创建 emtpy 文件”,但仅使用标题创建目标 CSV 文件
- python - Mac pip install pyodbc 失败,找不到 -lodbc 的库
- uwp - PointerReleased 在 UWP 控制之外不起作用
- r - ggplot:直方图中的 xlim 和 scale_x_continuous
- c++ - 如何向量::emplace_back 具有shared_mutex 的类?
- python-3.x - 在python中将变量添加到列表中
- c# - Blazor Blazored.LocalStorage.ILocalStorageService 任务取消