Я очень новичок в использовании groovy. Особенно, когда речь идет о Jenkins + Groovy + Pipelines.Jenkins and Groovy и Regex
У меня есть строковая переменная, которая может время от времени меняться и хочет применить регулярное выражение для размещения 2 или 3 возможных результатов, которые может возвращать строка.
В моем заводной коде нет:
r = "Some text that will always end in either running, stopped, starting." def regex = ~/(.*)running(.*)/ assert regex.matches(r)
Но я получаю сообщение об ошибке на выходе Дженкинс:
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: Нет подписи метода: java.util.regex.Pattern.matches() применим для типов аргументов: (java.lang.String)
UPDATE: Мне удалось создать довольно изящный джининг groovy while в задании конвейера, который я создаю, чтобы дождаться удаленного процесса, используя здесь информацию regex и подсказку в другом сообщении (do .. while() in Groovy with inputStream?).
while({
def r = sh returnStdout: true, script: 'ssh "Insert your remote ssh command that returns text'
println "Process still running. Waiting on Stop"
println "Status returned: $r"
r =~ /running|starting|partial/
}());
Я кончался вынимая линию «утверждать» и просто делать «г = ~/Бег | начиная | остановленные /» спасибо @injecteer – JuanD