4

我有一个简单的 groovy 脚本:

node ("master")
{
  echo "I am about to try to use String.format"
  def jjj = String.format("bob")
  echo jjj 
}

如果我将此脚本直接放入我的作业配置并运行它,它运行良好。

但是,如果我将该脚本放入一个文件中,然后通过“来自 SCM 的工作流脚本”加载该文件,我会收到错误消息

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified staticMethod java.lang.String format java.lang.String

我该如何解决这个问题?是否可以像“工作流脚本”一样关闭“来自 SCM 的工作流脚本”的沙箱?

或者是否有一些沙盒认可的方式在 groovy 中格式化字符串?

为什么它首先阻止我格式化字符串?

4

2 回答 2

13

我认为使用SCM 中的工作流脚本时无法禁用沙盒

但是,您可以在此处批准使用:

http://<jenkins_host>:<port>/scriptApproval/
于 2015-11-14T09:50:10.247 回答
3

我该如何解决这个问题?

可能(未经测试)

String.format("bob", [])

而不是使用可变参数。无论如何,您应该在 JIRA(组件script-security-plugin、标签workflow)中提交一个错误,并附上重现步骤。

是否可以像“工作流脚本”一样关闭“来自 SCM 的工作流脚本”的沙箱?

编号:詹金斯-28178

于 2015-11-17T01:26:28.063 回答