2017-05-23 6 views
0

GROOVYスクリプトで次のように実装しようとしていますが、エラーが発生しました: HTMLファイルの内容を配列で読み込み、grepの配列を読み込みます。Groovy:配列内のファイルの内容を読み込み、何かgrepを受け取ります

def file1 = new File("/path/to/the/file/xyz.html"); 
def lines = file1.readLines() 
if ((-e "/path/to/the/file/xyz.html") and (!(grep /jira.bugtracker.com/, lines)) 
{ 
    println (" the changes are present\n"); 
    exit 0; 
} 
else 
{ 
    println (" the changes are not present\n"); 
    exit 1; 
} 

コードを確認し、正しい方法を提案してください。

+0

どのようなエラーが表示されますか?これはJenkinsfileの文脈でですか?あなたはそれを投稿できますか? – burnettk

答えて

2
def file1 = new File("/path/to/the/file/xyz.html") 
def lines = file1.readLines() 
def found = lines.find{ line-> line =~ /jira.bugtracker.com/ } 
println ("the changes are ${ found ? '' : 'not ' }present") 
return found ? 0 : 1 
+0

次のエラーメッセージが表示されます: 'スクリプトはstaticMethodを使用できませんorg.codehaus.groovy.runtime.DefaultGroovyMethods readLines java.io.File'。私は何かが欠けていますか? – Yash

+0

あなたはジェンキンズのようです...私はこの問題を発見しました:https://issues.jenkins-ci.org/browse/JENKINS-35681/あなたが呼び出すことができるメソッドのリストがあるようです。あなたがパイプラインの中にいる場合、おそらくファイルの内容を読み込むためのいくつかのネイティブパイプラインの同等のものがあります...そして、私はこれを発見しましたhttps://github.com/jenkinsci/pipeline-examples/blob/master/docs/BEST_PRACTICES.md – daggett

+0

ありがとう@参照のためのダゲット! – Yash

1

このように試すことができます。

if (new File("/path/to/the/file/xyz.html").text?.contains("jira.bugtracker.com")){ 
    println (" the changes are present\n"); 
} else { 
    println (" the changes are not present\n"); 
} 
+0

ありがとう@sfgroups。それは私のために働いた。 – Yash

関連する問題