Вызов Groovy кода из Kotlin и передача Закрытия в качестве аргумента - PullRequest
1 голос
/ 24 января 2020

Я пишу код для генерации заданий Jenkins и использую Kotlin для логики c для генерации заданий Jenkins. Плагин Jenkins, который я использую, - это плагин Jenkins Job DSL , который написан на Groovy для генерации заданий. У меня возникают проблемы при установке параметра definition при вызове кода Kotlin для кода Groovy из-за незнания, как создать соответствующий объект groovy .lang.Closure.

Здесь мой мой Kotlin код:

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

Вот код в Groovy, который я пытаюсь перенести на Kotlin:

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

Вот определение метода, который я вызываю:

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

Другие ссылки: DslFactory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...