Сопоставление паттерна Jenkins с группами - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь выполнить какой-то анализ имени ветви в файле конвейера 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, но не в проекте. Я просто разочарован, потому что я не могу найти, где подобные вещи задокументированы, поэтому я использую документацию groovy, которая не всегда точна для Дженкинса.

Любая помощь по этому вопросу высоко ценится, но я также просто не знаю, чего мне не хватает, что делает это настолько трудным для понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...