我正在尝试在Jenkins管道文件中进行一些分支名称解析,这让我感到非常沮丧。
def parse_version(name) {
def p = /(\d{1,2})\.?(\d{1,2})\.?(\d{1,2})(?:[A.]?(\d*))?(?:[_\-]([^.\s]*))?/
def m = name =~ p
if (m.count > 0) {
def major = m[0][1] ?: 0
def minor = m[0][2] ?: 0
def patch = m[0][3] ?: 0
def build = m[0][4] ?: 0
def tag__ = m[0][5] ?: ""
return"${major}.${minor}.${patch}.${build}-${tag__}"
}
else
{
return "0.0.0.0-${name}"
}
}
此操作失败
Also: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods getCount java.util.regex.Matcher
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod
这在Jenkins脚本控制台中有效,但在项目中无效。我很沮丧,因为我找不到这种东西在哪里记录,所以我使用了一些时髦的文档,这些文档对于詹金斯来说并不总是准确的。
在此问题上的任何帮助都将受到赞赏,但我也不知道我缺少什么,这使这一点很难弄清。