2016-06-19 4 views
1

私は仕事DSLプラグインに新しいとさえGroovyのよ以内ジェンキンス仕事DSLプラグインのクロージャを使用する方法。Groovyクラス

は、次のスクリプトを考える:

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()

明確に、[OK]をクリックします。 Groovyは私のクラスで "folder"というメソッドを見つけられません。しかし、これは方法ではありません。ジョブDSLコマンドです。クラス内でどのように使用できますか?

答えて

1

クラスにスクリプト参照を渡す必要があります(Job DSL wikiを参照)。

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

new MyClass().create(this) 
+0

ありがとうダニエル!誰かがGoogleのキーワードを知らない場合、解決策を見つけることは常に困難です... – roehrijn

関連する問題