【发布时间】:2020-09-19 07:01:21
【问题描述】:
我开始为 jenkins 共享库开发解决方案,但在使用 withCredentials 插件获取秘密时遇到奇怪的异常。在詹金斯管道中使用它们时,我对用户名密码或机密的凭据没有任何问题。但是在为共享库实现时,它给了我一个我还无法解决的错误。
代码
def scanProject(String[] inputs) {
script.echo "inside scanProject.."
try {
String version= ''
String projectName = ''
String environment = ''
this.script.withCredentials([string(credentialsId: 'sonarqube.test.service', variable: 'pass')]) {
this.script.sh "echo {this.script.env.pass}"
}
} catch(error) {
...
这个 sonarqube.test.service 是一个秘密文本
错误
inside constructor..
[Pipeline] echo
inside scanProject..
[Pipeline] echo
Exception happened during SonarQube scanning. Find the message below:
[Pipeline] echo
No signature of method: com.example.sonarqube.SonarQubeScan.string() is applicable for argument types: (java.util.LinkedHashMap) values: [[credentialsId:sonarqube.test.service, variable:pass]]
Possible solutions: toString(), toString(), print(java.io.PrintWriter), print(java.lang.Object), find(), sprintf(java.lang.String, java.lang.Object)
【问题讨论】:
-
你试过 this.script.sh "echo $pass" 吗?
-
试过..但没用。我已经更新了对我有用的东西。谢谢
标签: jenkins jenkins-pipeline shared-libraries jenkins-groovy