我有一个Jenkins验证参数,该参数将补丁号作为输入。我需要验证输入的参数是否为数字,并且长度应为8个字符。您能否为此验证字符串参数共享正则表达式,从而同时验证两者。
感谢您的帮助!
我会坚持常规。假设您的参数为VERSION_NUMBER
if ( (params.VERSION_NUMBER).length() == 8 && params.VERSION_NUMBER ==~ /[0-9]+/) {
result = 'valid'
} else {
result = 'Invalid'
}
或者,您可以将它们全部堆叠到单个正则表达式中,并使用/[0-9]{8}/
并跳过长度检查。
如果您的字符串参数holdign补丁程序版本存储在patchVer
变量中,则>]
stage('Patch version validation')
{
sh '''
echo "$patchVer" | egrep -q '^[0-9]+$'
if [ $? -eq 0 -a ${#patchVer} -eq 8 ]; then
echo "$patchVer is a number and of 8 digits";
else
echo "$patchVer is not a number";
exit 1
fi
'''
}