Jenkins Job DSL 插件:如何创建嵌套视图?示例对我不起作用
Jenkins Job DSL plugin: How do I create a nested view? Example doesn't work for me
我正在使用 Job DSL 插件生成我们所有的视图。
列表视图创建时没有问题,但现在我在替换嵌套视图时遇到了问题。
如果我从 https://jenkinsci.github.io/job-dsl-plugin/#path/nestedView 复制并粘贴示例,我会收到以下错误:
ERROR: (ViewsGenerator.groovy, line 23) No signature of method: groovy.util.slurpersupport.NodeChild.call() is applicable for argument types: (foobar.jenkins.views.generator.ViewsGenerator$_run_closure1$_closure5) values: [foobar.jenkins.views.generator.ViewsGenerator$_run_closure1$_closure5@4e414e59]
Possible solutions: tail(), wait(), name(), max(), last(), any()
第 23 行是
views {
如果我只是用
nestedView('ZZZ_project-a') {
}
然后 Jenkins 生成具有该名称的嵌套视图,但它当然是空的!
我一定是在以错误的方式做一些非常基本的事情:-)但我想不通!有什么想法吗?
我现在尝试在作业 DSL 生成器作业 (Use the provided DSL script
) 中直接使用给定的示例,并且成功了!
我的 Groovy 脚本和文本框中的脚本有什么区别?
好的,在 table 上苦思冥想 :-) 我终于找到了解决方案。
像往常一样,问题出在我的软件上:-)
我有一个名为 Views
的助手 class,它读取一些 XML 等等。
那里有一个名为 getViews()
的方法。
为了方便起见,我通常使用
导入这样的助手 classes
import static Views.*
因此,在 Job DSL 的 nestedView
中有 views
,显然 Groovy 对使用什么 views
感到困惑,来自 Job DSL 或我的 getViews()
.
我将该方法重命名为getAllViews()
,问题就解决了。
但是到达那里(我绝不是 Groovy 专家)是一个非常艰难的经历,因为错误消息对我来说非常神秘。
我正在使用 Job DSL 插件生成我们所有的视图。
列表视图创建时没有问题,但现在我在替换嵌套视图时遇到了问题。
如果我从 https://jenkinsci.github.io/job-dsl-plugin/#path/nestedView 复制并粘贴示例,我会收到以下错误:
ERROR: (ViewsGenerator.groovy, line 23) No signature of method: groovy.util.slurpersupport.NodeChild.call() is applicable for argument types: (foobar.jenkins.views.generator.ViewsGenerator$_run_closure1$_closure5) values: [foobar.jenkins.views.generator.ViewsGenerator$_run_closure1$_closure5@4e414e59]
Possible solutions: tail(), wait(), name(), max(), last(), any()
第 23 行是
views {
如果我只是用
nestedView('ZZZ_project-a') {
}
然后 Jenkins 生成具有该名称的嵌套视图,但它当然是空的!
我一定是在以错误的方式做一些非常基本的事情:-)但我想不通!有什么想法吗?
我现在尝试在作业 DSL 生成器作业 (Use the provided DSL script
) 中直接使用给定的示例,并且成功了!
我的 Groovy 脚本和文本框中的脚本有什么区别?
好的,在 table 上苦思冥想 :-) 我终于找到了解决方案。
像往常一样,问题出在我的软件上:-)
我有一个名为 Views
的助手 class,它读取一些 XML 等等。
那里有一个名为 getViews()
的方法。
为了方便起见,我通常使用
import static Views.*
因此,在 Job DSL 的 nestedView
中有 views
,显然 Groovy 对使用什么 views
感到困惑,来自 Job DSL 或我的 getViews()
.
我将该方法重命名为getAllViews()
,问题就解决了。
但是到达那里(我绝不是 Groovy 专家)是一个非常艰难的经历,因为错误消息对我来说非常神秘。