Vla*_*adH 2 passwords parameters jenkins jenkins-pipeline
我想将一个值从 Jenkins Pipeline 作业中的密码参数插件传递到另一个自由式作业,以用于登录。我不想在输出或其他任何地方看到它。我可以在两个自由式工作之间完成它,但管道似乎有点不同。
即使我能够作为字符串发送,它也会在“参数”选项卡或“环境变量”选项卡中可见。
有谁知道如何实现这一点?
小智 5
我花了几个小时尝试不同的解决方案来解决与您遇到的同一问题,这是最终的解决方案,对我有用:
在您的管道脚本中:
stages {
stage("Do something with credentials and pass them to the downstream job") {
steps {
build job: 'your/jobname/path', parameters: [
[$class: 'hudson.model.PasswordParameterValue', name: 'PASSWORD', value: env.PASSWORD],
[$class: 'TextParameterValue', name: 'USERNAME', value: env.USERNAME]
]
}
}
Run Code Online (Sandbox Code Playgroud)
技巧是在将密码参数传递给下游(自由式)作业时使用 hudson.model.PasswordParameterValue 类,但您必须在主管道(父作业)中使用相同的类进行参数定义才能使其正常工作。
例如,在您的管道作业中,您将配置密码参数:
configure {
it / 'properties' / 'hudson.model.ParametersDefinitionProperty' / 'parameterDefinitions' << 'hudson.model.PasswordParameterDefinition' {
name('PASSWORD')
description('My password')
}
}
Run Code Online (Sandbox Code Playgroud)