如何将Groovy类导入Jenkin文件?

时间:2016-08-29 14:33:18

标签: jenkins groovy jenkins-pipeline jenkinsfile

如何在Jenkinsfile中导入Groovy类?我尝试了几种方法但没有一种方法有效。

这是我要导入的类:

Thing.groovy

class Thing {
    void doStuff() { ... }
}

这些是不起作用的事情:

Jenkinsfile-1

node {
    load "./Thing.groovy"

    def thing = new Thing()
}

Jenkinsfile-2

import Thing

node {
    def thing = new Thing()
}

Jenkinsfile-3

node {
    evaluate(new File("./Thing.groovy"))

    def thing = new Thing()
}

2 个答案:

答案 0 :(得分:5)

您可以通过load命令返回该类的新实例,并使用该对象调用" doStuff"

所以,你可以在" Thing.groovy"

class Thing {
   def doStuff() { return "HI" }
}

return new Thing();

你会在你的dsl脚本中有这个:

node {
   def thing = load 'Thing.groovy'
   echo thing.doStuff()
}

哪个应该打印" HI"到控制台输出。

这会满足您的要求吗?

答案 1 :(得分:0)

这很有趣,以任何方式您都可以拥有多个构造函数?

如果您使用共享库,则可以轻松实现,但是在这种情况下,该类不在共享库中