首页 文章

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

提问于
浏览
0

我正在尝试为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()方法,没有运气 .

任何帮助将不胜感激!

1 回答

  • 0

    你不需要 Arrays.asList() . 下面就足够了 .

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

相关问题