在詹金斯中是否可以使用外部变量作为选择参数?

问题描述 投票:0回答:1

我想从我的sql表中获取数据,并将其用作Jenkins中的选择参数

+----+
| ID |
+----+
| 11 |
| 23 |
| 45 |
| 72 |
|  5 |
| 16 |
| 71 |
| 18 |
+----+

我想在詹金斯中使用这些ID作为选择参数,以便使用其中一个ID进行构建,即使用这些ID号作为参数的参数进行构建

我只是希望在构建之前将这些ID号作为下拉列表,在构建步骤中可以将所选的选项用作脚本的参数。

实现此目标的方法是什么?请帮助

jenkins deployment jenkins-pipeline jenkins-cli automated-deploy
1个回答
0
投票

您可以结合使用扩展选择参数和属性文件来实现。

  1. [创建具有内容key=value1,value2,value3,...,例如key=11,23,45,72,5,16,71,18的属性文件。
  2. 将此文件放置在您的Jenkins主文件系统中,例如/var/lib/jenkins/userContent/build.properties。您需要编写自动化脚本/创建另一个作业以定期更新此文件。
  3. 在您的作业配置中,选择此项目已参数化> 扩展选择参数
  4. 为您的参数输入名称,例如TABLE_VALUE
  5. 选择基本参数类型> 单选
  6. 输入用于分隔属性文件中值的定界符。在这种情况下,逗号,
  7. 选择Property File,然后在Jenkins master-/var/lib/jenkins/userContent/build.properties中输入属性文件的路径。
  8. 输入key作为属性键
  9. 保存作业配置。
  10. 使用管道中的变量TABLE_VALUE访问所选参数的值。

管道代码

您可以通过将此块放在顶部来在管道中实现相同的目标:

properties([
    parameters([
        extendedChoice(
            name: 'TABLE_VALUE', 
            description: '', 
            type: 'PT_SINGLE_SELECT',
            multiSelectDelimiter: ',', 
            propertyFile: '/var/lib/jenkins/userContent/build.properties', 
            propertyKey: 'key',
            quoteValue: false
        )
    ])
])

请参阅source code了解所有可能的参数,并请参考PT constants了解所有可能的type值。

作业配置

enter image description here

Build Parameters

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.