问题标签 [workflowscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1038 浏览

jenkins - Jenkins groovy (SharedLibrary) 类无法访问 WorkflowScript 成员

我有一个简单的管道脚本,它访问一个 groovy 类(它驻留在共享库中),管道脚本将引用(对自身)传递给该类,然后该类调用在脚本中找到的函数或闭包,该函数访问同一脚本中的成员,

结果是 groovy.lang.MissingPropertyException 异常。

所以这是实际的(可运行的)代码:

詹金斯管道脚本:

com.domain.Tester.groovy 类:

收到的异常:

所以很明显这是由于管道脚本经历的cps转换过程而发生的事情,并且脚本成员不再存在(不是按名称,也不是在范围内[可能]),

  1. 有没有人有解决方案/想法/方向?
  2. 有没有人有关于 CPS 转换过程的信息(特别是 Jenkins,而不是 CPS 理论),或者我如何在转换后看到最终产品 WorkflowScript?
0 投票
1 回答
186 浏览

jenkins - 在执行期间访问 Jenkins 管道 WorkflowScript

我想知道是否有办法在执行期间访问 Jenkins Workflow 脚本对象。

我有一个共享库,我可以将此对象作为参数传递给任何 groovy 类,可以直接从 Jenkins 文件使用“this”关键字,也可以从 vars 文件夹中的任何 DSL,也可以使用“this”关键字。

但是我想使用一种方法来访问它,即使这意味着使用自反性。

那可能吗?