私はJenkins(2.60.1)の新しいバージョンと以前のJenkinsバージョンで動作していたGroovyスクリプトにアップグレードしています1.596/2)はもはや機能しません。groovy.lang.MissingPropertyException:そのようなプロパティはありません:class:groovy.lang.Bindingのジェンキン
これはJenkinsのビルドプロジェクトです。これはパラメータ化されており、Groovyスクリプトを使用してChoice Provider(Choice ProviderはSystem Groovy Choice Parameterに設定されています)の選択肢を提供しています。
我々は(これはGroovyのスクリプトの一部である)ジェンキンス環境変数へのアクセスを取得し、このようにそうしようとしている:実行している場合
import hudson.slaves.EnvironmentVariablesNodeProperty
import hudson.EnvVars
EnvironmentVariablesNodeProperty prop = jenkins.getGlobalNodeProperties().get(EnvironmentVariablesNodeProperty.class)
EnvVars env = prop.getEnvVars()
def MY_VAR = env['MY_JENKINS_VAR']
はしかし、私は次のエラーを取得していますスクリプト:
Failed to execute script
groovy.lang.MissingPropertyException: No such property: jenkins for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)
それは「ジェンキンス」参照は、内蔵するプロパティジェンキンスによって提供されるか、または、おそらくGroovyの期待されているが、私は私が作るために何をする必要があるか上の任意の情報を見つけることができないように思えますGroovyスクリプトからアクセスできます。
ありがとうございました。
私はオフィスに戻ったときにチェックしますが、今日の午後には、Groovyプラグインに関するスクリプト承認に何も表示されませんでした。 "jenkins"オブジェクトはGroovyプラグイン、あるいは他のプラグインによって提供されていますか? –
Jenkinsのビルドを確認したところ、Groovyスクリプトを実行してエラーを取得した後(上記のように)、ビルドのIn-process Script Approvalページに移動しましたが、承認が必要なものは表示されません。私は試みている)。 JenkinsがGroovyスクリプトで環境変数を作成する方法を教えてください。 –