我们可以在Jenkins Active Choice参数中读取配置文件(托管文件.properties文件)吗?

ct2axkht  于 2022-09-20  发布在  Jenkins
关注(0)|答案(1)|浏览(170)

我想要在活动选择参数Grovy脚本中读取我的属性文件,我的属性文件存储在管理文件中。

属性文件如下[1]:https://i.stack.imgur.com/flvP5.png

我想在Active Choice引用参数Groovy脚本中调用这些属性文件,并根据我之前的选择检索所有值。我一直在使用Different无法检索值。我们有什么方法可以检索值吗?

mv1qrgav

mv1qrgav1#

属性文件应该是‘cat/var/Jenkins_home/workspace/ss.properties’。

100.1.1.1=outside_in,wireless_in
200.x.x.x=mgmt_in,inside_in

创建一个名为“活动选择参数”的参数,将其命名为“主机名”,并在其中编写以下groovy脚本。在下面的groovy脚本中,我们只是从属性文件中读取键,将其转换为列表并将其填充到Choose参数中。在我的例子中,此选项的类型是单选,也可以根据需要进行设置。

Properties properties = new Properties() 
File propertiesFile = new File('/var/jenkins_home/workspace/ss.properties') 
def stream = propertiesFile.newDataInputStream() 
properties.load(stream) 
Enumeration e = properties.propertyNames(); 
List<String> list = Collections.list(e); 
return list

创建另一个名为“主动选择React参数”的参数,并将其命名为“CONFIG_LIST”,然后将以下groovy脚本粘贴到其中

Properties properties = new Properties()
File propertiesFile = new File('/var/jenkins_home/workspace/ss.properties')
def stream = propertiesFile.newDataInputStream()
properties.load(stream)
Enumeration e = properties.propertyNames();
def var = Arrays.asList(properties.getProperty(hostnames).split(','))
return var

上面的引用参数将是“主机名”。这意味着,基于主机名选择参数的选择,数据将填充到此参数中。在我的例子中,此选项的类型是单选,也可以根据需要进行设置。

保存配置并在Jenkins作业中单击Build With PARAMETERS,它应该如下所示

相关问题