[解決済み] [Solved] groovy.lang.MissingPropertyException: No such property: buildJobArray for class: groovy.lang.Binding
2022-03-03 20:06:49
質問
私はgroovyの初心者です。ここで、私はいくつかのリストを宣言し、defキーワードを使用して、ジョブをトリガし、リストにそれを格納するために関数でそれを使用しますが、それはエラーをスローします。
MissingPropertyException No such property: buildJobArray for class: groovy.lang.Binding
リストを宣言しても 私のコードで何が問題なのか理解できません。
def triggerBuildArray = []
def buildJobArray = []
def jobArray = []
def paramsArray = []
def noOfJob = 2
//function to trigger job
def triggerJob(def job, def params, def jobNo) {
buildJobArray << job.scheduleBuild2(0, new Cause.UpstreamCause(build), new ParametersAction(params))
println"triggered job "+jobNo;
println"waiting for completion of job "+jobNo;
}
jobArray << Hudson.instance.getJob('job1');
//define parameters
paramsArray << [
new StringParameterValue('baseurl',build.getEnvironment(listener).get('ORAbaseurl')),
new StringParameterValue('firm',build.getEnvironment(listener).get('ORAfirm')),
new StringParameterValue('loginname',build.getEnvironment(listener).get('ORAloginname'))
]
for(int i=0;i<noOfJob;i++)
{
triggerJob(jobArray[i],paramsArray[i],i+1);
}
というエラーが発生します。
ERROR: Build step failed with exception
groovy.lang.MissingPropertyException: No such property: buildJobArray for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:242)
at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:288)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:292)
at org.kohsuke.groovy.sandbox.impl.Checker$checkedGetProperty$1.callStatic(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:230)
at Script1.triggerJob(Script1.groovy:19)
解決方法は?
ここで私は別の方法を見つけました。ここではdefキーワードを使って変数を定義していますが、defキーワードを使うことでローカル変数になります。もし、defキーワードを使用しない場合は、グローバル変数になります。
def buildJobArray = [] //local variable
buildJobArray = [] // Global variable
というわけで、一度グローバル変数を使えば、どの関数からもアクセスできるようになります。
関連
-
[解決済み] AnsibleとRundeckを連携させるのは良いアイデアですか、それともどちらか一方を使えば十分ですか?
-
[解決済み] jenkinsのmultibranch pipelineにビルドパラメータを追加するには?
-
Jenkins java.io.IOException。CreateProcess error=2, The system could not find the specified file.
-
[解決済み] Jenkinsがジョブを実行しない(ペンディング - 次の実行者を待っている状態)
-
[解決済み] Jenkinsでジョブをスケジュールするにはどうしたらいいですか?
-
[解決済み】Jenkinsでジョブをエクスポート/インポートする
-
[解決済み】Jenkinsfileに加えられた変更をローカルでテストするにはどうすればよいですか?
-
[解決済み】サーバーを再起動せずに、Jenkins上で停止できないゾンビジョブを停止する方法は?
-
[解決済み] Jenkins ホスト鍵の認証に失敗しました。
-
[解決済み] Jenkinsパイプラインのワークスペースの一掃
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AnsibleとRundeckを連携させるのは良いアイデアですか、それともどちらか一方を使えば十分ですか?
-
Jenkins上級シリーズ - 16 JENKINSのもとで完結するANT BUILD.XMLファイル
-
[解決済み] Jenkinsがジョブを実行しない(ペンディング - 次の実行者を待っている状態)
-
[解決済み] jenkinsとcloudbees jenkinsの違いは何ですか?
-
[解決済み] Jenkinsでジョブをスケジュールするにはどうしたらいいですか?
-
[解決済み】JenkinsとTravis-CI。オープンソースプロジェクトに使うならどっち?[という質問をいただきました。]
-
[解決済み】Jenkinsfileに加えられた変更をローカルでテストするにはどうすればよいですか?
-
[解決済み] Jenkinsで既存のジョブをあるビューから別のビューに移動するにはどうすればよいですか?
-
[解決済み] Jenkinsにプラグインを手動でインストールする方法
-
[解決済み] Jenkinsです。パイプラインステージで変数が定義できない