Jenkins获得代理密码

时间:2017-08-25 14:45:34

标签: encryption jenkins groovy proxy

我尝试使用以下结果解密我在Jenkins中为代理配置设置的密码(该脚本在Jenkins脚本控制台中运行):

import jenkins.model.*
import jenkins.hudson.*

def instance = Jenkins.getInstance()
def proxy = ProxyConfiguration.load()
def encrProxy = proxy.getEncryptedPassword()

// returns the encrypted Password {AQAAABAAAAAQhUGoRgQUrP6/***************** }
println(instance.proxy.getEncryptedPassword())
// returns the encrypted Password {AQAAABAAAAAQhUGoRgQUrP6/***************** }
println(proxy.getEncryptedPassword())

// returns empty strings
println proxy.getPassword()
// returns empty strings
println(instance.proxy.getPassword()) 

// returns empty strings
println hudson.util.Secret.decrypt(instance.proxy.getEncryptedPassword())
// returns empty strings
println hudson.util.Secret.decrypt(proxy.getEncryptedPassword())

来自credentials.xml的密码解密工作正常。

但不知何故Jenkins可以解密密码,因为验证代理的连接工作正常。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

这对我有用

-v

如果我们正在讨论在def pass = jenkins.model.Jenkins.getInstance()?.proxy?.getPassword() println "password = $pass"

Advanced标签中设置代理密码