jenkins - 从 Kotlin 调用 Groovy 代码并将闭包作为参数传递
问题描述
我正在编写一些用于生成 Jenkins 作业的代码,并且我正在使用 Kotlin 作为生成 Jenkins 作业的逻辑。我使用的 Jenkins 插件是Jenkins Job DSL插件,它是用 Groovy 编写的,用于生成作业。definition
由于不知道如何创建适当的 groovy.lang.Closure 对象,我在从 Kotlin 代码调用 Groovy 代码时无法设置参数。
这是我的 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()
}
}
}
这是我正在调用的方法的定义:
void definition(@DslContext(WorkflowDefinitionContext) Closure definitionClosure) {
其他链接: DslFactory
解决方案
推荐阅读
- javascript - 我正在尝试使用 ajax 将数组从控制器传递到 javascript,但它不作为数组返回,而是作为字符串返回
- azure-blob-storage - 在不同订阅上运行 Azure Logic 应用
- android - 适用于 Android 的 Google Maps API 需要新的 api 密钥或如果在新 PC 上运行 android studio 则需要激活
- skype - 如何向 Skype for Business 报告缺陷?
- java - InvalidPluginException: UnsupportedClassVersionError: JVMCFRE003 bad major version;class=ml/commandermc/rtp/Main, offset=6 Minecraft 插件
- swift - 如何与 siwft 4 共享生成的 UIImage
- c++ - 注入一个 QTimer 的模拟
- php - 我们可以使用 mysqli_real_escape_string 来防止搜索表单中的 SQLinjection 吗?
- python - 计算不平衡的 4D numpy 数组中的元素数
- java - Java Spring SOAP Webservice 中的 JBoss (Wildfly) max-post-size 句柄响应