如何在Jenkins中为系统Groovy脚本设置类路径

如何在Jenkins中为系统Groovy脚本设置类路径,jenkins,groovy,Jenkins,Groovy,声明 系统groovy脚本OTOH在Jenkins master的JVM中运行。 这样它就可以访问Jenkins的所有内部对象 你可以用它来改变詹金斯的状态。它类似于 Jenkins脚本控制台功能 然而,我发现我有一个groovy脚本,可以在Jenkins脚本控制台中成功运行,但如果在构建配置中作为“系统groovy脚本”输入,它就不会运行。存在编译器错误。显然,Jenkins脚本控制台运行的类路径与我的构建中的脚本不同。但是,我找不到关于为构建运行脚本时默认类路径是什么的信息,或者从脚本控制台

声明

系统groovy脚本OTOH在Jenkins master的JVM中运行。 这样它就可以访问Jenkins的所有内部对象 你可以用它来改变詹金斯的状态。它类似于 Jenkins脚本控制台功能

然而,我发现我有一个groovy脚本,可以在Jenkins脚本控制台中成功运行,但如果在构建配置中作为“系统groovy脚本”输入,它就不会运行。存在编译器错误。显然,Jenkins脚本控制台运行的类路径与我的构建中的脚本不同。但是,我找不到关于为构建运行脚本时默认类路径是什么的信息,或者从脚本控制台运行时类路径是什么的信息,因此我可能会为脚本复制这些信息

此外,该插件还提供了一个类路径输入字段,用于将脚本作为文件运行,但不存在将脚本作为文本输入的选项

我无法让我的脚本以任何方式工作


我遗漏了什么?

我认为答案是脚本控制台自动导入整个Jenkins库。系统Groovy脚本并非如此。因此,对我有效的是运行脚本,对于未知类的每一个编译器错误,为该类添加一个导入语句。通过查看Javadocs,我了解了它们来自哪些包


自动化这将是对插件的一个很好的改进。

可能需要使用抓取依赖项管理来解析要添加的库。

您的答案能否更具体一点?虽然这个答案可能是正确的,但它没有提供如何执行建议的步骤。SystemGroovyCommand中不支持“抓取”