脚本控制台中的 Jenkins 作业执行

时间:2021-07-21 10:17:44

标签: jenkins jenkins-plugins jenkins-groovy jenkins-job-dsl

我无法在 jenkins 脚本控制台中执行以下脚本。

job('testjob') {
  using('template_job')
  configure { node ->
    node / scm / branches / 'hudson.plugins.git.BranchSpec' / name('main')
  }
}

我遇到以下错误

groovy.lang.MissingMethodException: No signature of method: Script1.job() is applicable for argument types: (java.lang.String, Script1$_run_closure1) values: [testjob, Script1$_run_closure1@4eaafbe6]
Possible solutions: run(), run(), any(), wait(), dump(), grep()
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:81)

1 个答案:

答案 0 :(得分:0)

您尝试运行的脚本是 Job DSL 脚本。
它不打算在 Jenkins 脚本控制台 菜单中运行,因此您会遇到该异常,DSL 脚本应该在专用的 Process Job DSLs 构建步骤中执行(通常在自由式工作)。使用以下 Official Documentation Guide 开始使用 Jon DSL 插件及其使用说明。
此外,这里还有一个很好的 Tutorial 用于使用 Job DSL 插件。

顺便说一句,您可以使用 Job DSL Playground 来创建和测试您的配置块,但 Playground 仅支持在线 API 参考中提供的 DSL API - 与可用的完整 DSL API 参考相反在 https://your.jenkins.installation/plugin/job-dsl/api-viewer/index.html 的 Jenkins 安装中。