Jenkins PER USER default parameter values?

瘦欲@ 提交于 2019-12-11 17:30:11

问题


We are using a parameterized Jenkins build job, and I would like to have default values for some parameters specific for myself, e.g. the dev branch name I mostly use. Is it possible? We do have personal users in Jenkins.


回答1:


You could do it by:

  1. Create a scriptler which checks the current user and returns the appropriate value:

    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
    

    If you want to use the Active Choices Plugin your script will need to return a list:

    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. Configure your parameterized build to have a Dynamic Parameter (Scriptler) or an Active Choices parameter and reference the script you created as it's source.

If you don't want a script centrally managed by admins, the Active Choices Parameter allows you to use the code within the parameter definition. I'm using:
Jenkins ver 2.32.3
Scriptler Plugin ver 2.9
Dynamic Parameter Plugin ver 2.9
Active Choices Plugin ver 2.9



来源:https://stackoverflow.com/questions/50894926/jenkins-per-user-default-parameter-values

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!