0

我在包含闭包的 Jenkins Workflow 脚本中使用了一些 groovy。

def newMarkup = new StreamingMarkupBuilder().bind {
   mkp.yield(xml)
}.toString()

据我了解,它mkp应该是使用时在闭包内可用的变量StreamMarkupBuilder,但是当我尝试运行它时,我得到了错误,

groovy.lang.MissingPropertyException: No such property: mkp for class: WorkflowScript

所以我的问题是为什么詹金斯不承认这mkpStreamMarkupBuilder类的属性而不是工作流脚本?

4

1 回答 1

0

听起来像一个错误groovy-cps。尝试将您的逻辑封装在标有@NonCPS注释的方法中。如果它开始工作,那groovy-cps就是罪魁祸首,您可以在workflow-plugin组件中的 Jenkins JIRA 中提交一个错误,并附上重现的步骤,尽管我怀疑即使修复了代码,由于JENKINS-26481MissingPropertyException代码仍然无法运行。

于 2015-11-05T20:32:57.180 回答