我正在尝试为Jenkins作业生成一个下拉列表,该作业将从Linux目录中的文件名中解析出版本号。我已经让它在大部分时间工作,但我认为我缺乏对groovy的了解让我处于停滞状态。这是我的代码:
Arrays.asList(new File("/path/to/files").list().join(", ").findAll(/(\d+)\.(\d+)\.(\d+)\.(\d+)/))
我的文件名如下:
我从Jenkins脚本控制台返回的内容是:
结果:[[1.0.0.19,1.0.0.20]]
这基本上就是我想要的,但在Jenkins工作中,我在下拉列表中得到一个项目,即外括号内的所有内容。
[1.0.0.19,1.0.0.20]
我认为第二组括号是问题,我试图使用Groovy的.minus()方法删除它们,双重转义括号,没有运气。我也试过了.split()方法,没有运气。
非常感谢任何帮助!
答案 0 :(得分:0)
您不需要Arrays.asList()
。下面就足够了。
new File("/opt/staples/ci-tools/workspace/archive/returns")
.list()
.join(',')
.findAll(/(\d+)\.(\d+)\.(\d+)\.(\d+)/)