繁体   English   中英

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

[英]Parsing file name for Dynamic Choice Parameter in Jenkins with a Groovy script

我正在尝试为Jenkins作业生成一个下拉菜单,它将从Linux目录中的文件名中解析出版本号。 我已经使其在大多数情况下都能正常工作,但我认为我对常规的知识不足使我处于停滞状态。 这是我的代码:

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()方法,但是没有运气。

任何帮助将不胜感激!

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM