首页 > 解决方案 > Jenkins PER USER 默认参数值?

问题描述

我们正在使用参数化的 Jenkins 构建作业,我想为一些特定于我自己的参数设置默认值,例如我最常使用的 dev 分支名称。是否可以?我们在 Jenkins 中确实有个人用户。

标签: jenkinsparametersbuildcontinuous-integration

解决方案


你可以这样做:

  1. 创建一个检查当前用户并返回适当值的脚本程序:

    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
    
  2. 将您的参数化构建配置为具有动态参数 (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


推荐阅读