groovy скрипт в jenkins не работает - PullRequest
1 голос
/ 13 января 2020

У меня есть сценарий groovy, который отлично работает для всех заданий jenkins, но не выполняется для заданий jenkin. В скрипте Jenkins он работает нормально, но не работает, когда я создаю dsl задания в groovy.

parameters {
activeChoiceParam('BRANCH') {
 com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(
    com.cloudbees.plugins.credentials.common.StandardUsernameCredentials.class

    """)
    }
}

. Ошибка: ошибка 1004 *

Caused by: groovy.lang.MissingPropertyException: No such property: github_token for class: javaposse.jobdsl.dsl.helpers.parameter.ActiveChoiceGroovyScriptContext
.

1 Ответ

2 голосов
/ 13 января 2020

При использовании тройных кавычек замена GString все еще работает. Таким образом, запись ${...} в такой строке заменит переменную сразу. Но вы хотите отложить это до запуска скрипта. Таким образом, вы должны процитировать знак доллара. например,

...
inputFile.write("curl ... -H 'Authorization: token \${github_token.password}'...")
...

Или используйте тройные одинарные кавычки (если вы вообще не хотите заменять эту строку)

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