Sandbox阻止我格式化字符串

时间:2015-11-06 18:46:22

标签: groovy jenkins-workflow

我有一个简单的groovy脚本:

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

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

但是,如果我将该脚本放入一个文件中然后通过SCM"中的#34;工作流脚本加载,我就会收到错误

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

我该如何解决这个问题?是否可以关闭SCM""工作流脚本的沙箱?喜欢用于"工作流脚本"?

或者是否有一些沙箱批准的格式化字符串的方式?

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

2 个答案:

答案 0 :(得分:13)

我认为在使用SCM中的 工作流程脚本

时,无法禁用沙盒

但是你可以在这里批准用法:

http://<jenkins_host>:<port>/scriptApproval/

答案 1 :(得分:3)

  

我该如何解决这个问题?

可能(未经测试)

String.format("bob", [])

而不是使用varargs。无论如何,您应该在JIRA(组件script-security-plugin,标签workflow)中提交错误,并提供重现步骤。

  

是否可以关闭SCM&#34;&#34;工作流脚本的沙箱?喜欢用于&#34;工作流脚本&#34;?

否:JENKINS-28178