2013-02-15 253 views
1
運行Groovy腳本

我已經安裝上詹金斯1.501的編劇插件:對詹金斯

https://wiki.jenkins-ci.org/display/JENKINS/Scriptler+Plugin

我創造了這個腳本:

import org.apache.commons.httpclient.* 
import org.apache.commons.httpclient.auth.* 
import org.apache.commons.httpclient.methods.* 

@Grab(group='commons-httpclient', module='commons-httpclient', version='3.1') 
void createNewJenkinsProject() { 

    out.println("Test") 


} 
createNewJenkinsProject() 

基於這個例子:

https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients

在o上工作我的奴隸的我添加上述腳本作爲構建步驟。當我建工作,我得到:

Execution of script [move-projects.groovy] failed - java.lang.NoClassDefFoundError: org/apache/ivy/core/report/ResolveReportorg.jenkinsci.plugins.scriptler.util.GroovyScript$ScriptlerExecutionException: java.lang.NoClassDefFoundError: org/apache/ivy/core/report/ResolveReport 
    at org.jenkinsci.plugins.scriptler.util.GroovyScript.call(GroovyScript.java:66) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
    at hudson.remoting.Request$2.run(Request.java:326) 
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.NoClassDefFoundError: org/apache/ivy/core/report/ResolveReport 
+0

這似乎與https://issues.jenkins-ci.org/browse/JENKINS-16361 (@抓葡萄支持)有關, – Timor 2013-06-19 08:37:53

回答

3

如果您選擇了「執行系統Groovy腳本」作爲構建行動,那麼這將在詹金斯主機上運行。因此,請確保所有必需的罐子都存在於班級路徑中。您甚至可以在使用之前檢查腳本。爲此,請轉至your-jenkins-url/jenkins /腳本並粘貼腳本並進行測試

如果選擇「執行Groovy腳本」選項,請確保jar位於從站的類路徑中。