我有一个带有2个参数的参数化jenkins作业:
-
第一个作业参数是'Password parameter'类型的APIKEY
-
第二个作业参数是“活动选择反应参数”类型的服务 - 单选,引用参数APIKEY并使用以下groovy脚本代码在单选UI控件中返回APIKEY参数的值:
[ APIKEY ]
当我开始构建此作业时,参数SERVICE的单选UI控件中提供的值是APIKEY的乱码(加密?)值 .
我想要的是能够在SERVICE参数的脚本代码中使用输入的APIKEY密码参数的实际(解密)值 .
我尝试使用如下所示的hudson.util.Secret解密APIKEY乱码值,但没有运气:
def apikey = hudson.util.Secret.fromString(APIKEY).getPlainText()
有没有办法从主动选择反应参数groovy脚本代码获取实际密码参数值?
1 回答
经过多一点尝试后,事实证明这毕竟是正常工作 - 但只有当手动输入密码参数时,才会使用默认密码参数值(不确定这是错误还是功能) .
第一次运行作业时,提供的默认密码参数值是乱码,但在密码字段中再次输入值,然后在groovy脚本中给出正确的值 .
这对我有用:
运行作业构建
此时,SERVICE字段的groovy脚本代码中的APIKEY值未正确计算 - 它是乱码值
在APIKEY密码参数字段中输入正确的值 - 例如"abc123"
将焦点切换到SERVICE字段
现在执行SERVICE字段groovy代码并显示APIKEY的实际输入值:"abc123"
由于我的用例是每次创建作业时都必须输入APIKEY,这对我来说已经足够了 .