У меня есть следующее в заводной файл ...
// jenkins/Application.groovy
package jenkins
class Application{
String name
Application(name){
this.name = name
}
}
Я пытаюсь импортировать его, и я пробовал это, но, похоже, ни один из них не работает. Это все в jenkins / Test.groovy
final GroovyScriptEngineImpl engine = (GroovyScriptEngineImpl) this.scriptingEngines.getEngineByName("groovy");
GroovyClassLoader classLoader = engine.getClassLoader();
classLoader.parseClass(new GroovyCodeSource("./jenkins/Application.groovy"))
engine.setClassLoader(classLoader)
Это дает ..
Script1.groovy: 17: невозможно разрешить класс Application
Тогда я попробовал ...
// jenkins/Application.groovy
// Added
return { Application }
// jenkins/Test.groovy
app = load "./jenkins/Application.groovy"
def dna = new app.Application("blah")
и я получаю ...
Script1.groovy: 11: невозможно разрешить приложение класса. Приложение
Как импортировать вызов в Jenkins GroovyScript?
Обновление
Я изменил свой код на следующий (и переместился в папку домена) ...
app = load "./jenkins/domain/Application.groovy"
def dna = app.newInstance([name:"blah"] as Object[])
Когда я бегу, я получаю ...
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: сценариям запрещается использовать staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods newInstance java.lang.Class java.lang.Object []