Reputation: 1
I am looking for a Groovy script that can create a masked password pair in Jenkins. I've tried the following but it doesn't work.
import java.util.logging.Logger
import jenkins.model.*
import hudson.logging.*
//import com.michelin.cio.hudson.plugins.maskpasswords.*
import com.michelin.cio.hudson.plugins.maskpasswords.MaskPasswordsConfig
import com.michelin.cio.hudson.plugins.maskpasswords.MaskPasswordsBuildWrapper.VarPasswordPair
maskPasswordsConfig = MaskPasswordsConfig.getInstance()
varPasswordPairs = maskPasswordsConfig.getGlobalVarPasswordPairs()
MaskPasswordsConfig plugin = new MaskPasswordsConfig()
VarPasswordPair pwdPair = new VarPasswordPair("PWD", "myPassword")
plugin.addGlobalVarPasswordPair(pwdPair)
plugin.save()
I'm getting no results in the script console. Any help is appreciated.
Upvotes: 0
Views: 1201
Reputation: 359
@mweish, Just come across your post as I was trying to setup something similar, this should do what you are looking for:
import java.util.logging.Logger
import com.michelin.cio.hudson.plugins.maskpasswords.MaskPasswordsConfig
import com.michelin.cio.hudson.plugins.maskpasswords.MaskPasswordsBuildWrapper.VarPasswordPair
import jenkins.model.*
import hudson.logging.*
Logger logger = Logger.getLogger("")
Jenkins jenkins = Jenkins.getInstance()
MaskPasswordsConfig plugin = new MaskPasswordsConfig()
MASKED_PARAMETER_CLASSES = [
'com.michelin.cio.hudson.plugins.passwordparam.PasswordParameterDefinition',
'hudson.model.PasswordParameterDefinition'
]
def NAME_PASSWORD_PAIRS = [
[NAME:'PWD', PASSWORD:'myPassword']
]
// Add classes that should automatically be masked
MASKED_PARAMETER_CLASSES.each { maskedClass ->
plugin.addMaskedPasswordParameterDefinition(maskedClass)
}
// Add Global name/password pairs
NAME_PASSWORD_PAIRS.each { namePassPair ->
VarPasswordPair passwordPair = new VarPasswordPair(namePassPair.NAME, namePassPair.PASSWORD)
plugin.addGlobalVarPasswordPair(passwordPair)
}
plugin.save(plugin)
logger.info('Successfully Configured the Mask Passwords plugin')
Upvotes: 1