Как импортировать класс Groovy в файл Jenkinfile?
как импортировать класс Groovy в файл Jenkinsfile? Я пробовал несколько подходов, но ни один не работал.
это класс, который я хочу импортировать:
вещь.в 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()
}
1 ответов
вы можете вернуть новый экземпляр класса с помощью команды load и использовать объект для вызова "doStuff"
Итак, у вас будет это в "Thing.groovy"
class Thing {
def doStuff() { return "HI" }
}
return new Thing();
и у вас будет это в вашем сценарии dsl:
node {
def thing = load 'Thing.groovy'
echo thing.doStuff()
}
который должен печатать "привет" на выходе консоли.
это удовлетворило бы ваши требования?