How to import a file of classes in a Jenkins Pipeline?

╄→гoц情女王★ 提交于 2019-11-28 09:29:52

问题


I have a file that contains classes. Example :


abstract class TestBase
{
    String name
    abstract def fTest()

    def bobby(){
        return "bobby"
    }
}
class Test extends TestBase
{
    def fTest(){
        return "hello"
    }
}
class Test2 extends TestBase
{
    def fTest(){
        return "allo"
    }
    def func(){
        return "test :)"
    }
}

I want to import the file in my Jenkins pipeline script, so I can create an object of one of my class. For example :


def vTest = new Test()
echo vTest.fTest()
def vTest2 = new Test2()
echo vTest2.func()

How can I import my file in my Jenkins Pipeline ? Thx.


回答1:


you can do like this:

Classes.groovy

class A{
    def greet(name){ return "greet from A: $name!" }
}

class B{
    def greet(name){ return "greet from B: $name!" }
}

// this method just to have nice access to create class by name
Object getProperty(String name){
    return this.getClass().getClassLoader().loadClass(name).newInstance();
} 

return this

pipeline:

node{
    def cl = load 'Classes.groovy'
    def a = cl.A
    echo a.greet("world A")
    def b = cl.B
    echo b.greet("world B")
}


来源:https://stackoverflow.com/questions/44811293/how-to-import-a-file-of-classes-in-a-jenkins-pipeline

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!