【发布时间】:2018-11-26 10:35:30
【问题描述】:
我们正在使用参数化的 Jenkins 构建作业,我想为一些特定于我自己的参数设置默认值,例如我主要使用的 dev 分支名称。可能吗?我们在 Jenkins 中确实有个人用户。
【问题讨论】:
标签: jenkins parameters build continuous-integration
我们正在使用参数化的 Jenkins 构建作业,我想为一些特定于我自己的参数设置默认值,例如我主要使用的 dev 分支名称。可能吗?我们在 Jenkins 中确实有个人用户。
【问题讨论】:
标签: jenkins parameters build continuous-integration
你可以这样做:
创建一个检查当前用户并返回适当值的脚本程序:
def user = jenkins.model.Jenkins.getAuthentication().getName();
def returnValue
switch (user) {
case ['user1','user2']:
returnValue = 'xyz'
break;
case ['user3']:
returnValue = 'abc'
break;
default:
returnValue = '00'
break;
}
return returnValue
如果您想使用Active Choices Plugin,您的脚本将需要返回一个列表:
def user = jenkins.model.Jenkins.getAuthentication().getName();
def returnValue = [];
switch (user) {
case ['user1','user2']:
returnValue << 'xyz'
break;
case ['mtlelj']:
returnValue << 'abc'
break;
default:
returnValue << '00'
break;
}
return returnValue
将您的参数化构建配置为具有 Dynamic Parameter (Scriptler) 或 Active Choices 参数,并将您创建的脚本作为源引用。
如果您不希望由管理员集中管理脚本,Active Choices 参数允许您使用参数定义中的代码。我正在使用:
Jenkins 版本 2.32.3
Scriptler 插件版本 2.9
动态参数插件版本 2.9主动选择插件版本 2.9
【讨论】: