我正在尝试配置一个测试作业以使用withCredentials()访问jenkins中的用户凭证,但是它不起作用。我使用“授权项目插件”,并使用选项“以触发构建的用户身份运行”来配置作业
node{
withCredentials([usernamePassword(credentialsId: 'mytoken', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
usernameLocal = env.USERNAME
passwordLocal = env.PASSWORD
}
echo "echo vars: ${usernameLocal} - ${passwordLocal}"
}
以下是输出的前三行:
org.jenkinsci.plugins.credentialsbinding.impl.CredentialNotFoundException: Could not find credentials entry with ID 'mytoken'
at org.jenkinsci.plugins.credentialsbinding.MultiBinding.getCredentials(MultiBinding.java:153)
at org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding.bind(UsernamePasswordMultiBinding.java:76)
您会看到它找不到用户范围中已经定义的ID为“ mytoken”的凭据条目。
我做了很多搜索,发现使用withCredentials()可能是不可能的。那么,有什么方法可以访问用户凭证范围?
谢谢。
答案 0 :(得分:0)
您是否可以使用类似的方式访问工作中的凭据
pipeline {
agent { label 'slave'}
stages {
stage('Example') {
environment {
ARTIFACTORY_CREDENTIALS = credentials('artifactory')
}
steps {
echo "user: $ARTIFACTORY_CREDENTIALS_USR password: $ARTIFACTORY_CREDENTIALS_PSW"
}
}
}
}
答案 1 :(得分:0)
此凭据未标记为全局。
选择凭据-特定的Credentilas-更新-范围