在Jenkins中创建屏蔽密码的Groovy脚本

在Jenkins中创建屏蔽密码的Groovy脚本,jenkins,groovy,Jenkins,Groovy,我正在寻找一个Groovy脚本,它可以在Jenkins中创建一个屏蔽密码对。 我试过以下方法,但不起作用 import java.util.logging.Logger 导入jenkins.model* 导入hudson.logging* //导入com.michelin.cio.hudson.plugins.maskpasswords* 导入com.michelin.cio.hudson.plugins.maskpasswords.maskpasswords配置 导入com.michelin.

我正在寻找一个Groovy脚本,它可以在Jenkins中创建一个屏蔽密码对。 我试过以下方法,但不起作用

import java.util.logging.Logger
导入jenkins.model*
导入hudson.logging*
//导入com.michelin.cio.hudson.plugins.maskpasswords*
导入com.michelin.cio.hudson.plugins.maskpasswords.maskpasswords配置
导入com.michelin.cio.hudson.plugins.maskpasswords.MaskPasswordsBuildWrapper.VarPasswordPair
maskPasswordsConfig=maskPasswordsConfig.getInstance()
varPasswordPairs=maskPasswordsConfig.getGlobalValPasswordPairs()
MaskPasswordsConfig插件=新建MaskPasswordsConfig()
VarPasswordPair pwdPair=新的VarPasswordPair(“PWD”、“myPassword”)
plugin.addGlobalVarPasswordPair(pwdPair)
plugin.save()

我在脚本控制台中没有得到任何结果。非常感谢您的帮助。

@mweish,当我试图设置类似的内容时,您可以看到您的帖子,这应该可以满足您的要求:

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')

不过,很少有人注意到:只有在Jenkins重新启动之前执行,这才有效。我用Dockerv2.201/openjdk8和maskpasswords插件v2.13在Jenkins上测试了它。每次运行脚本时,名称\密码\对必须包含所需的所有对。如果删除了一个,那么它也将从Jenkins配置中删除。