groovyを使うのはとても新しいです。特にJenkins + Groovy + Pipelinesについて言えば、JenkinsとGroovyとRegex
私は時々変更できる文字列変数を持っていますが、文字列が返す可能性のある2つまたは3つの結果に対応するために正規表現を適用したいとします。私は私のGroovyのコードで
:
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)
更新日: ここで正規表現の情報と別の投稿のヒント(do .. while() in Groovy with inputStream?)を使用してリモートプロセスを待つために作成しているパイプラインジョブでループを作成している間に、きれいなjenking groovyを作成することができました。
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/
}());
正規表現でthis exampleを参照してください他に、
false
と一致した場合、これは
true
を返しますおかげで@injecteer – JuanD