mweish
mweish

Reputation: 1

Groovy script to create masked password in Jenkins

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

Answers (1)

Jean Velloen
Jean Velloen

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

Related Questions