提问人:Mo2 提问时间:7/13/2023 更新时间:7/13/2023 访问量:47
Jenkinsfile Groovy 闭包:参数的默认值为 null
Jenkinsfile Groovy closures: Default values for arguments coming up as null
问:
我围绕 sh
Jenkins 任务步骤创建了一个包装器闭包,以允许我捕获 stderr 并将其捕获并打印到日志中。
我的问题是布尔参数的默认值总是以 ,除非我明确传入 or .null
true
false
这是我如何调用它的示例(请注意,这是一个闭包,它只是构建一个命令来运行 pytest 并返回一个 String):pytest
def sh_stdout = sh_wrap(pytest("some args to a closure called pytest", "more args"))
以下是包装器的片段:sh
sh_wrap = { String cmd, Boolean print_to_log = true, Boolean capture_stdout = true, Boolean capture_stderr = false ->
echo "cmd ${cmd}"
echo "print_to_log ${print_to_log}"
echo "capture_stdout ${capture_stdout}"
echo "capture_stderr ${capture_stderr}"
if(capture_stderr) {
cmd += ' 2>&1'
}
sh_stdout = sh(script: cmd, returnStdout: capture_stdout)
if(print_to_log) {
echo sh_stdout
}
return sh_stdout
}
答: 暂无答案
评论