2016-06-19 3 views
1

Job DSL 플러그인과 Groovy를 처음 사용했습니다. 나는 다음과 같은 오류를 받고 있어요Groovy 클래스 내의 Jenkins Job DSL 플러그인 클로저 사용 방법

class MyClass { 
    def create() { 
     folder('test') { 
     } 
    } 
} 

new MyClass().create() 

:

javaposse.jobdsl.dsl.DslScriptException: (script, line 3) No signature of method: MyClass.folder() is applicable for argument types: (java.lang.String, MyClass$_create_closure1) values: [test, [email protected]] Possible solutions: find(), collect()

좋아, 명확한

는 다음 스크립트를 감안할 때. Groovy는 내 수업에서 "폴더"라는 메서드를 찾지 못합니다. 그러나 이것은 방법이 아닙니다. Job DSL 명령입니다. 수업 시간에 어떻게 사용할 수 있습니까?

답변

1

클래스에 스크립트 참조를 전달해야합니다 (Job DSL wiki 참조).

class MyClass { 
    def create(def dslFactory) { 
     dslFactory.folder('test') { 
     } 
    } 
} 

new MyClass().create(this) 
+0

감사합니다. Daniel! 사람이 google을위한 키워드를 모르는 경우에 해결책을 찾아내는 것은 항상 곤란하다 ... – roehrijn