jenkins - Jenkins PER USER 默认参数值?
问题描述
我们正在使用参数化的 Jenkins 构建作业,我想为一些特定于我自己的参数设置默认值,例如我最常使用的 dev 分支名称。是否可以?我们在 Jenkins 中确实有个人用户。
解决方案
你可以这样做:
创建一个检查当前用户并返回适当值的脚本程序:
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 插件,您的脚本将需要返回一个列表:
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
将您的参数化构建配置为具有动态参数 (Scriptler)或Active Choices参数,并引用您创建的脚本作为其源。
如果您不希望管理员集中管理脚本,Active Choices 参数允许您使用参数定义中的代码。我正在使用:
Jenkins ver 2.32.3
Scriptler Plugin ver 2.9
Dynamic Parameter Plugin ver 2.9
Active Choices Plugin ver 2.9
推荐阅读
- android - 是否可以为某些风味子集定义自定义 android sourceSets?
- performance - 如何计算 jmeter 5.4.1 中所有发送的请求?
- usb - 为什么his3516dv300的D+电压不上拉?
- bash - 如何在调用 kubectl 的函数上启用自动完成子命令
- packer - 使用变量作为其他变量值的一部分
- javascript - 从 JS 连接到 pyzmq websocket
- oracle - Oracle 将函数转换为触发器
- react-hooks - 在这种情况下,如何根据特定属性使用不同样式渲染数组 message.senderEmail
- javascript - 获取请求应返回字符串化值并分配给变量
- c# - 无法在 Azure AD B2C 属性中通过 Graph API 创建用户不存在