【问题标题】:Jenkins PER USER default parameter values?Jenkins PER USER 默认参数值?
【发布时间】:2018-11-26 10:35:30
【问题描述】:

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

【问题讨论】:

    标签: jenkins parameters build continuous-integration


    【解决方案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. 将您的参数化构建配置为具有 Dynamic Parameter (Scriptler)Active Choices 参数,并将您创建的脚本作为源引用。

    如果您不希望由管理员集中管理脚本,Active Choices 参数允许您使用参数定义中的代码。我正在使用:
    Jenkins 版本 2.32.3
    Scriptler 插件版本 2.9
    动态参数插件版本 2.9主动选择插件版本 2.9

    【讨论】:

    • 谢谢!它可能是我的版本中的“主动选择参数”吗?我正在使用 2.119
    • 答案更新为适用于我的构建的 Active Choice 示例。
    • 似乎我没有安装动态参数插件。我会调查的。再次感谢
    • "由于未解决的安全漏洞,此插件的分发已暂停" :(
    • 它将与wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin(仍在分发)一起使用,使用第二个代码示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多