【发布时间】:2014-01-23 00:06:07
【问题描述】:
我正在尝试为 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 脚本控制台得到的回报是:
结果:[[1.0.0.19, 1.0.0.20]]
这基本上是我想要的,但在 Jenkins 工作中,我在下拉列表中得到一个项目,即外括号内的所有内容。
[1.0.0.19, 1.0.0.20]
我认为第二组括号是问题所在,我尝试使用 Groovy 的 .minus() 方法删除它们,两次转义括号,但没有运气。我也尝试过 .split() 方法,但没有成功。
任何帮助将不胜感激!
【问题讨论】:
标签: linux parsing groovy jenkins jenkins-plugins