沙盒阻止我格式化字符串
Sandbox is preventing me from formatting a string
我有一个简单的 groovy 脚本:
node ("master")
{
echo "I am about to try to use String.format"
def jjj = String.format("bob")
echo jjj
}
如果我将此脚本直接放入我的作业配置中 运行,它 运行 没问题。
但是如果我将该脚本放入一个文件中,然后通过 "Workflow script from SCM" 加载该文件,我会得到错误
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified staticMethod java.lang.String format java.lang.String
我该如何解决这个问题?是否可以像 "Workflow script" 一样关闭 "Workflow script from SCM" 的沙箱?
或者在 groovy 中是否有某种沙盒批准的字符串格式化方式?
为什么它一开始就阻止我格式化字符串?
我认为在使用 来自 SCM 的工作流脚本时无法禁用沙盒
但是您可以在这里批准使用:
http://<jenkins_host>:<port>/scriptApproval/
How do I work around this?
可能(未测试)
String.format("bob", [])
而不是使用可变参数。无论如何,您应该在 JIRA(组件 script-security-plugin
,标签 workflow
)中提交错误并附上重现步骤。
Is it possible to turn off the sandbox for "Workflow script from SCM" like it is for "Workflow script"?
我有一个简单的 groovy 脚本:
node ("master")
{
echo "I am about to try to use String.format"
def jjj = String.format("bob")
echo jjj
}
如果我将此脚本直接放入我的作业配置中 运行,它 运行 没问题。
但是如果我将该脚本放入一个文件中,然后通过 "Workflow script from SCM" 加载该文件,我会得到错误
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified staticMethod java.lang.String format java.lang.String
我该如何解决这个问题?是否可以像 "Workflow script" 一样关闭 "Workflow script from SCM" 的沙箱?
或者在 groovy 中是否有某种沙盒批准的字符串格式化方式?
为什么它一开始就阻止我格式化字符串?
我认为在使用 来自 SCM 的工作流脚本时无法禁用沙盒
但是您可以在这里批准使用:
http://<jenkins_host>:<port>/scriptApproval/
How do I work around this?
可能(未测试)
String.format("bob", [])
而不是使用可变参数。无论如何,您应该在 JIRA(组件 script-security-plugin
,标签 workflow
)中提交错误并附上重现步骤。
Is it possible to turn off the sandbox for "Workflow script from SCM" like it is for "Workflow script"?