Проверьте строковый параметр на его длину и тип - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть один параметр проверки Jenkins, который принимает номер патча в качестве ввода. Мне нужно проверить, если введенный параметр является числом, и он должен иметь длину = 8 символов. Не могли бы вы поделиться регулярным выражением для этого параметра строки проверки, который проверяет оба.

Оцените вашу помощь!

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Я бы придерживался groovy. Предполагая, что ваш параметр VERSION_NUMBER

if ( (params.VERSION_NUMBER).length() == 8 && params.VERSION_NUMBER ==~ /[0-9]+/) {
    result = 'valid'
} else {
    result = 'Invalid'
}

В качестве альтернативы вы можете просто сложить все это в одно регулярное выражение и использовать /[0-9]{8}/ и пропустить проверку длины.

0 голосов
/ 11 февраля 2020

Если версия патча Holdign вашего строкового параметра сохраняется в patchVer variable

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
  '''
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...