检测参数化版本中的参数是否存在的最佳方法是什么?我发现最接近的解决方案是在groovy中执行此操作:
node { groovy.lang.Binding myBinding = getBinding() boolean mybool = myBinding.hasVariable("STRING_PARAM1") echo mybool.toString() if (mybool) { echo STRING_PARAM1 echo getProperty("STRING_PARAM1") } else { echo "STRING_PARAM1 is not defined" } mybool = myBinding.hasVariable("DID_NOT_DEFINE_THIS") if (mybool) { echo DID_NOT_DEFINE_THIS echo getProperty("DID_NOT_DEFINE_THIS") } else { echo "DID_NOT_DEFINE_THIS is not defined" } }
是使用getBinding()正确的API来执行此操作,还是有更好的方法?
您可以使用try-catch检查参数是否存在:
try { echo TEST1 echo 'TEST1 is defined' } catch (err) { echo 'TEST1 is not defined' }