質問が十分に詳細ではないが、私は自分の検索を最初にしたことを誓っています。パイプラインでJenkinsのワークスペースファイルにアクセスするscrpit
私は前の手順でSCM(git)から引き出されたファイルを処理する必要があるパイプラインスクリプトを持っています。 パイプラインに渡されるパラメータの1つは、すべてのファイルが存在するフォルダです。このフォルダにはサブフォルダが含まれている可能性があり、それらも処理する必要があります。
ので、例えば、私は私のフォルダは以下が含まれていてもよいパイプラインに ./my-folderパラメータを渡すことがあります。
./my-folder/file1.json./my-folder/file2.json
./my-folder/subfolder/file3.json
my-folder
ディレクトリは、リポジトリクローン化されたDの一部となりますビルド段階を確実にする。
私はローカルに私のGroovyスクリプトを開発しましたが、私はこれに似た何かやっていた:
def f = new File(folder)
をしかし、これはフォルダが異なる上にある間にコードがマスター上で実行されている与えられたジェンキンスでは動作しません。ノード。 大規模な調査の結果、Jenkinsでファイルを読み取るには2つの方法があることが分かりました。
readFile
を使用してください。これは問題ありませんが、すべてのファイルをロードするためにフォルダ全体とサブフォルダをスキャンする簡単な方法は見つかりませんでした。FilePath
を使用してください。より多くのオブジェクト指向なので、これは私の好みの方法ですが、このクラスのインスタンスを作成する方法が見つかりませんでした。私がインターネット上で検索しているときに見たすべてのアプローチは、build
変数を参照してください。私はそれがスクリプトに定義されていない理由を完全にはわかりません。実際に私は得ていますgroovy.lang.MissingPropertyException: No such property: build for class: WorkflowScript
私はそれ以外の場合は、私は詳細を追加することを願って願って願っています。
おかげで、
ニコ