Как безопасно обрабатывать передаваемые параметры функции сборки Дженкинса в Groovy скрипте? - PullRequest
0 голосов
/ 24 августа 2018

У меня есть функция в моем скрипте jenkins groovy, например:

def build (Строка p1, Строка p2, Строка p3) {

    script.stage('Build') {
        try {
            script.sh "./gradlew -Pversion='${currentVersion}' clean build"
        } finally {
            script.step([$class: 'JacocoPublisher', classPattern: p1, exclusionPattern: p2, execPattern: p3])
        }
    }
}

Итак, как мне справиться со случаем, когда файл проекта jenkins не передает никаких аргументов этой функции? Я попытался поставить условия if, чтобы проверить, являются ли эти параметры пустыми / нулевыми, но это дало мне следующую ошибку в выводе консоли в jenkins:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

Я пытался выставить значения по умолчанию так:

def build(String p1='', String p2='**/classes', String p3='**/**.exec')

Сработало!:)

0 голосов
/ 24 августа 2018

Вы должны внести белый вызов метода в утверждение сценариев jenkins https://jenkins.io/doc/book/managing/script-approval/

...