2017-09-15 25 views
0

Jenkinsジョブの最後に成功したジョブ変数またはパラメータをGroovyスクリプトを使用して取得できないため、これらを変数として次のジョブに渡すことができません。 Jenkins.getItem()のJavaDocからnullオブジェクトのメソッドgetLastSuccessfulBuild()を呼び出せません

import jenkins.model.Jenkins 
def job = Jenkins.instance.getJob("Testing-4") 
def run = instance.getItems() 
println run.getEnvironment()["PipelineId"] 

エラーログ

ERROR: Build step failed with exception 
java.lang.NullPointerException: Cannot invoke method getLastBuild() on null object 
    at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77) 
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) 
    at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:32) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112) 
    at Script1.run(Script1.groovy:3) 
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580) 
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618) 
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589) 
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript.evaluate(SecureGroovyScript.java:168) 
    at hudson.plugins.groovy.SystemGroovy.run(SystemGroovy.java:95) 
    at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:59) 
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782) 
    at hudson.model.Build$BuildExecution.build(Build.java:205) 
    at hudson.model.Build$BuildExecution.doRun(Build.java:162) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) 
    at hudson.model.Run.execute(Run.java:1738) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:410) 
+0

編集後、指定されたコードと例外は意味をなさない。例外 のjavaで失敗したステップをビルドします。 – doelleri

+0

@doelleriは、最新のエラーログ – Kally

答えて

0

Returns: an item whose Item.getName() is name and whose Item.getParent() is this , or null if there is no such item, or there is but the current user lacks both Item.DISCOVER and Item.READ .

あなたのために、getItem("Testing-4")nullを返しているので、そこに名前"Testing-4"とは項目がありません、またはあなたがされていますか適切な権限を持つユーザーとしてログインしていない。

getItems()のアイテムのリストを得ることができます。これは、探索可能なスクリプトで有用なアイテムがどのように見えるかを調べるのに便利です。

+0

輸入jenkins.model.Jenkins DEFジョブを更新= Jenkins.instance.getJob( "テスト-4") はDEF = job.getItems() ERRORを実行します.lang.NullPointerException:ヌルオブジェクトのメソッドgetItems()を呼び出せません。 \t at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:77) – Kally

+0

'instance.getItems()'ではなく 'job.getItems() '。私たちはすでに 'job'がnullであることを確認しました。 – slim

+0

新ERROR:いいえ、そのようなプロパティ:クラスのインスタンス:例外 groovy.lang.MissingPropertyExceptionで失敗したステップを構築する組織でorg.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrapでSCRIPT1 \t(ScriptBytecodeAdapter.java:50) \t .codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) – Kally

0
import hudson.model.*; 

def lastSuccessfulPipelineID = build.getProject().getLastSuccessfulBuild().properties.get("envVars")['PipelineNumber'] 
def pa = new ParametersAction([ 
    new StringParameterValue("lastSuccessfulPipelineID", lastSuccessfulPipelineID) 
]) 
println(lastSuccessfulPipelineID) 

build.addAction(pa) 
+0

誰かがJenkinsの現在のジョブEnv変数にgroovyの出力を挿入する手助けをしてくれますか? – Kally

関連する問題