[英]groovy script in jenkins fails
我有一个 groovy 脚本,它适用于所有 jenkins 工作,但无法用于一项 jenkin 工作。 它在 Jenkins 脚本程序中运行良好,但当我在 groovy 中创建作业 dsl 时不起作用。
parameters {
activeChoiceParam('BRANCH') {
com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(
com.cloudbees.plugins.credentials.common.StandardUsernameCredentials.class
""")
}
}
因错误而失败
Caused by: groovy.lang.MissingPropertyException: No such property: github_token for class: javaposse.jobdsl.dsl.helpers.parameter.ActiveChoiceGroovyScriptContext
使用三引号时,GString 替换仍然有效。 因此,在这样的字符串中写入${...}
将立即替换变量。 但是您想延迟到脚本运行。 所以你必须引用美元符号。 例如
...
inputFile.write("curl ... -H 'Authorization: token \${github_token.password}'...")
...
或者使用三重单引号(如果您根本不想替换该字符串)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.