我试图让Jenkins从BitBucket克隆我的反复无常的项目。它不会,因为它 * 说 * 有一个问题的凭据-嗯,BitBucket是拒绝任何它是Jenkins提供。
我几乎100%肯定Jenkins没有提供它应该提供的,因为当我运行
hg clone --ssh="ssh -i /path/to/my/key" ssh://hg@bitbucket.org/my-org/my-repo
/path/to/my/key
的内容是我放在Jenkins的凭证管理器中的密钥中的内容。我已经验证了在我的jenkins credentials.xml
文件中可以找到它。
但是,当我尝试运行作业时,克隆失败的原因是
remote: Host key verification failed.
这让我相信问题出在通过Mercurial插件传递的内容上,但我在日志中看不到它,因为它是某种屏蔽字符串,只是显示为******
。
因此,我想确保进入Hg插件的凭据实际上是我的credentials.xml
文件中存在的凭据。
到目前为止我已经做到了这里:
import com.cloudbees.plugins.credentials.CredentialsProvider
import com.cloudbees.plugins.credentials.common.StandardUsernameCredentials
def creds = CredentialsProvider.all()
print creds
这给了我一个凭据提供商的列表...但我不确定下一步该去哪里。我一直在文档中溺水,试图找出如何获得我想要的凭据信息...但没有骰子。
(How)我是否可以在Groovy脚本控制台中显示我的Jenkins凭据列表?
6条答案
按热度按时间bvk5enib1#
这对我来说很有效...
r6vfmomb2#
这是一个组合脚本,它将关于这个主题的多个结果连接在一起。它列出了Jenkins所有范围的所有凭据,而不仅仅是根范围。希望它能有所帮助。
iih3973s3#
我想有一个可用凭据的列表,并发现这:
从这里开始:https://wiki.jenkins-ci.org/display/JENKINS/Printing+a+list+of+credentials+and+their+IDs
ymdaylpp4#
这是快速脏代码,它将打印jenkins上的一些凭证类型,如果需要更多,可以使用这里定义的不同类:
https://github.com/jenkinsci/credentials-plugin/tree/master/src/main/java/com/cloudbees/plugins/credentials/common
yzxexxkh5#
这是我根据已接受的答案修改的脚本。我们使用Azure凭据,它将打印这些凭据。如果找不到secret类型,它还将打印
c.properties
。ux6nzvsh6#
循环访问所有属性,不使用愚蠢的if:
您的安全团队可能会不高兴您这样做:)