2016-08-05 124 views
1

我在IntelliJ IDE中開發了groovy類,我想在Jenkins的Pipeline插件的'Pipeline script'中實例化這些類中的一個。我試圖按照試過下面還有「Eval.me」和的Class.forName動態加載一個groovy類並調用流水線腳本中的方法

Sample 

package com.mycomp.tmo 

/** 
* Created by 
*/ 
public void callMe(){ 
    println("Hello World !") 
} 


def e = "callMe" 
def cl = Class.forName("com.mycomp.tmo.Sample") 
println(Eval.me("${c1} (${e})")) 

的例子:

String cls = 'D:\\Users\\b\\IdeaProjects\\Automation\\src\\com\\mycomp\\tmo\\DBConnectionManager' 

def map = ['person': ${cls}] 
map['person'].newInstance() 
+0

管道插件groovy沙盒根本無法識別類。 –

回答

0

我想,我問了兩個星期前,後能夠回答你的問題。 Create resusable jenkins pipeline script

+0

嗨蒂姆,我的存儲庫是SVN,將與SVN一樣的工作? –

+0

千萬別嘗試,但我猜如果你把你的groovy代碼放在那個工作流文件夾裏,它應該是一樣的。 – Tim

+0

您好,您分享的帖子是這樣做的一種方式,但從git訪問庫並不總是可行的,因爲我說我的回購是SVN。在我的團隊內部進行討論後,我們明白這種方式對我們來說不是可行的。有沒有其他方法可以加載文件並調用方法? –