【发布时间】:2018-10-17 12:43:45
【问题描述】:
我在 groovy 脚本下运行以从 aws s3 存储桶中获取动态值。 下面的脚本工作正常,它将获取所有对象,如下面的输出所示。 当前输出为
test-bucket-name/test/folde1/1.war
test-bucket-name/test/folder2/2.war
test-bucket-name/test/folder3/3.txt
我只想在“test-bucket-name”文件夹的输出中显示 *.war 文件,如下所示。
1.war
2.war
我的脚本:
def command = 'aws s3api list-objects-v2 --bucket=test-bucket-name --output=text'
def proc = command.execute()
proc.waitFor()
def output = proc.in.text
def exitcode= proc.exitValue()
def error = proc.err.text
if (error) {
println "Std Err: ${error}"
println "Process exit code: ${exitcode}"
return exitcode
}
return output.split()
请告诉我如何从 test-bucket-name 文件夹中仅提取/显示 war 文件。
【问题讨论】:
-
你可以加
output.split().findAll { it.endsWith('.war') },这是最简单最简单的过滤不以*.war后缀结尾的条目的方法。
标签: groovy jenkins-groovy groovyshell groovy-console