2016-11-05 14 views
0

を返す私の記述は、私は次のように記述子を呼び出すようにしようとしています、二つのリストを取り込みますジェンキンスのGetDescriptor()はNullPointerExceptionが

ZAPDriverDescriptorImpl zapDriver = getDescriptor();

その後、私は二つのリストを取得するために

zapDriver.getAllFormats()zapDriver.getAllExportFormats())呼び出します。私はそれらをユニークな要素だけでリストに連結します。

全クラスを見つけることができますon GitHub

問題は、私は(唯一のマスターに)ローカル・ジェンキンスを実行しているが、私はmaster-slaveを行う際に、このコードは、スレーブ上で実行してに実行するだろうというとき、これが動作することですNullPointerException

ERROR: java.lang.NullPointerException 
    at hudson.model.AbstractDescribableImpl.getDescriptor(AbstractDescribableImpl.java:41) 
    at com.github.jenkinsci.zaproxyplugin.ZAPDriver.getDescriptor(ZAPDriver.java:2435) 
    at com.github.jenkinsci.zaproxyplugin.ZAPDriver.deleteReports(ZAPDriver.java:815) 
    at com.github.jenkinsci.zaproxyplugin.ZAPDriver.executeZAP(ZAPDriver.java:1141) 
    at com.github.jenkinsci.zaproxyplugin.ZAPBuilder$ZAPDriverCallable.invoke(ZAPBuilder.java:362) 
    at com.github.jenkinsci.zaproxyplugin.ZAPBuilder$ZAPDriverCallable.invoke(ZAPBuilder.java:1) 
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2720) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:121) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:49) 
    at hudson.remoting.Request$2.run(Request.java:326) 
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at hudson.remoting.Engine$1$1.run(Engine.java:69) 
    at java.lang.Thread.run(Thread.java:745) 

答えて

0

あなたは、スレーブ・エグゼキュータからJenkins.getInstance()を呼び出しています。スレーブマシンはJenkinsインスタンスを実行しないため、そこでは使用できません。

+0

申し訳ありません、これは私の最初のプラグインです、 'getDescriptor()'は 'Jenkins.getInstance()'を呼び出します、それはあなたが言っていることですか?スレーブがリスト情報を取得する方法はありますか? – JordanGS

関連する問題