2016-06-30 27 views
2

Jenkinsコンソールで次のGroovyスクリプトを実行しようとすると、以下のエラーが発生します。Jenkins-Groovyスクリプトエラー

import hudson.model.* 

/* removed as per comments 
// get current thread/Executor 
def thr = Thread.currentThread() 
// get current build 

import hudson.model.* 
def build = thr?.executable 
*/ 

// get parameters 
def parameters = build?.actions.find{ it instanceof ParametersAction }?.parameters 
parameters.each { 
    println "parameter ${it.name}:" 
    println it.dump() 
    println "-" * 80 
} 

// ... or if you want the parameter by name ... 
def hardcoded_param = "FOOBAR" 
def resolver = build.buildVariableResolver 
def hardcoded_param_value = resolver.resolve(hardcoded_param) 

println "param ${hardcoded_param} value : ${hardcoded_param_value}" 

これはUse Jenkins > Jenkins Script Console > Parameterized System Groovy scriptから取得されています。

エラーは、それがいくつか欠けているプロパティが含まれて言う:

groovy.lang.MissingPropertyException: No such property: executable for class: java.lang.Thread 
     at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50) 
     at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:63) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:227) 
     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetPropertySafe(AbstractCallSite.java:333) 
     at Script1.run(Script1.groovy:6) 
     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 hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:142) 
     at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:114) 
     at hudson.remoting.LocalChannel.call(LocalChannel.java:45) 
     at hudson.util.RemotingDiagnostics.executeGroovy(RemotingDiagnostics.java:111) 
     at jenkins.model.Jenkins._doScript(Jenkins.java:3612) 
     at jenkins.model.Jenkins.doScript(Jenkins.java:3584) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:320) 
     at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:163) 
     at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) 
     at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124) 
     at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 
     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) 
     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) 
     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) 
     at org.kohsuke.stapler.Stapler.service(Stapler.java:238) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) 
     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) 
     at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 
     at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:86) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) 
     at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) 
     at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) 
     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 
     at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) 
     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 
     at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 
     at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 
     at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) 
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) 
     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) 
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) 
     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
     at org.eclipse.jetty.server.Server.handle(Server.java:370) 
     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) 
     at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960) 
     at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) 
     at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) 
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 
     at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 

私はすでにRunning Groovy command from Jenkins using Groovy script pluginを試みたが、私の場合には動作しません。

答えて

0

私は、ビルドステップを追加場合実行システムのGroovyスクリプト Groovyのコマンド→:

import hudson.model.* 

// get parameters 
def parameters = build?.actions.find{ it instanceof ParametersAction }?.parameters 
parameters.each { 
    println "parameter ${it.name}:" 
    println it.dump() 
    println "-" * 80 
} 

// ... or if you want the parameter by name ... 
def hardcoded_param = "FOOBAR" 
def resolver = build.buildVariableResolver 
def hardcoded_param_value = resolver.resolve(hardcoded_param) 

println "param ${hardcoded_param} value : ${hardcoded_param_value}" 

出力は次のようになります。ここから、分かりやすい

param FOOBAR value : null 

${FOOBAR}から来ると思われる値?

私は☑を選択した場合、このビルドは文字列パラメータパラメータを追加パラメータ化である:

  • FOOBAR
  • デフォルト値FOOBAR_value

出力は次のようになります。

parameter FOOBAR: 
<[email protected] value=FOOBAR_value name=FOOBAR description=> 
-------------------------------------------------------------------------------- 
param FOOBAR value : FOOBAR_value 
+0

ありがとうございます。私は値を割り当てる方法が不明でした。これは助けになりました。 –

1

"システムGroovyスクリプト"を使用していると仮定すると、codeを正しく読んでいる場合は、ビルド変数がすでに使用可能である必要があり、プロパティ "実行可能 "はクラッシュを引き起こします。

変数がちょうど魔法のように存在するhereの例と一致しています。

+0

私は@kentisに同意する - のスレッドでの使用を削除し、あなたが迅速な対応のための –

+0

おかげで「無料で」インスタンスを構築し得ます。ビルド変数の宣言を削除し、質問を更新しました。それでも結果は表示されません。私はどこで間違っているのか理解してもらえますか? –

+0

これは貴重なヒントですが、質問には答えません。 –

関連する問題