从Kotlin调用Groovy代码并传递闭包作为参数

时间:2020-01-23 21:58:56

标签: jenkins kotlin groovy

我正在编写一些用于生成Jenkins作业的代码,并且正在使用Kotlin作为生成Jenkins作业的逻辑。我正在使用的Jenkins插件是Jenkins Job DSL插件,它是用Groovy编写的,用于生成作业。由于不知道如何创建合适的groovy.lang.Closure对象,因此在从Kotlin代码调用Groovy代码时,无法设置definition参数。

这是我的Kotlin代码:

val pipelineJob = dslFactory.pipelineJob("my-job")
// pipelineJob.definition(JOB_DEFINITION_GOES_HERE)  <-- this is the part I can't figure out

这是我试图移植到Kotlin的Groovy中的代码:

    dslFactory.pipelineJob("my-job").with {
      definition {
        cps {
          script("deleteDir()")
          sandbox()
        }
      }
    }

这是我正在调用的方法的definition

void definition(@DslContext(WorkflowDefinitionContext) Closure definitionClosure) {

其他链接: DslFactory

0 个答案:

没有答案