Jenkins管道模式与组匹配

时间:2020-04-22 23:55:29

标签: regex jenkins jenkins-pipeline

我正在尝试在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脚本控制台中有效,但在项目中无效。我很沮丧,因为我找不到这种东西在哪里记录,所以我使用了一些时髦的文档,这些文档对于詹金斯来说并不总是准确的。

在此问题上的任何帮助都将受到赞赏,但我也不知道我缺少什么,这使这一点很难弄清。

0 个答案:

没有答案