gpt4 book ai didi

linux - 使用 Groovy 脚本在 Jenkins 中解析动态选择参数的文件名

转载 作者:太空宇宙 更新时间:2023-11-04 04:05:33 31 4
gpt4 key购买 nike

我正在尝试为 Jenkins 作业生成一个下拉列表,该作业将从 Linux 目录中的文件名中解析出版本号。我已经让它在大部分情况下工作,但我认为我缺乏对 groovy 的了解让我陷入了停滞。这是我的代码:

Arrays.asList(new File("/path/to/files").list().join(", ").findAll(/(\d+)\.(\d+)\.(\d+)\.(\d+)/))

我的文件名如下:

  • 返回?-?1.0.0.19?.war
  • 返回?-?1.0.0.20?.war

我从 Jenkins 脚本控制台得到的返回是:

Result: [[1.0.0.19, 1.0.0.20]]

这本质上是我想要的,但在 Jenkins 工作中,我在下拉列表中得到了一项,即外括号内的所有内容。

[1.0.0.19, 1.0.0.20]

我认为第二组括号是问题所在,我尝试使用 Groovy 的 .minus() 方法删除它们,双重转义括号,但没有成功。我也尝试过 .split() 方法,但没有成功。

任何帮助将不胜感激!

最佳答案

您不需要Arrays.asList()。下面应该足够了。

new File("/opt/staples/ci-tools/workspace/archive/returns")
.list()
.join(',')
.findAll(/(\d+)\.(\d+)\.(\d+)\.(\d+)/)

关于linux - 使用 Groovy 脚本在 Jenkins 中解析动态选择参数的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296759/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com