Jenkins PER USER默认参数值?

时间:2018-06-17 08:21:36

标签: jenkins parameters build continuous-integration

我们正在使用参数化的Jenkins构建作业,我想为某些特定于我自己的参数设置默认值,例如:我主要使用的开发分支名称。可能吗?我们在Jenkins有个人用户。

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式完成:

  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 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
    
  2. 将参数化构建配置为具有动态参数(Scriptler) Active Choices 参数,并引用您创建的脚本作为其来源

  3. 如果您不想要由管理员集中管理的脚本,则Active Choices参数允许您使用参数定义中的代码。我用的是:
    Jenkins ver 2.32.3
    Scriptler Plugin ver 2.9
    动态参数插件ver 2.9
    Active Choices Plugin ver 2.9