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