Я хотел бы замаскировать пароль, заданный в качестве параметра в задании Jenkins, и он использует декларативный синтаксис конвейера. Я не хочу сохранять учетные данные и использовать их. Поскольку это будут учетные данные, введенные пользователем, выполняющим задание, специфичное для них.
Я уже пробовал MaskPasswordsBuildWrapper, но он не работает. Буду признателен, если кто-нибудь сможет привести рабочий пример.
Это мой Jenkinsfile для декларативного конвейера с использованием MaskPasswordsBuildWrapper, который не работает:
pipeline {
agent none
options {
skipDefaultCheckout()
skipStagesAfterUnstable()
}
parameters {
string(name: 'userid', defaultValue: 'master', description: 'Enter User ID')
password(name: 'passwd', defaultValue: 'secret', description: 'Enter Password')
}
stages {
stage('Test') {
agent {
label 'someLabel'
}
steps {
script {
wrap([$class: 'MaskPasswordsBuildWrapper', varPasswordPairs: [[var: 'PSWD', password: params.passwd]], varMaskRegexes: []]) {
sh "echo PSWD: ${PSWD}"
}
}
}
}
}
}