[英]Groovy: How to execute sh commands extracted from jenkins “build with parameters”
[英]From Jenkins “sh” to groovy
有没有办法在 groovy 中重写带有 Stdout: true 等的 jenkins 变量?
def result = sh(returnStdout: true, script: "echo \"$changeString\" | grep -o 'DPDHLPA-[0-9][0-9]*' | sort | uniq").trim()
这个grep怎么可能被复制呢? Echo 和 sort 对我来说是可以理解的,但是 grep 和 uniq 呢?
changeString 的 output 示例:
[DPDHLPA-26488] Added data-reset-state attribute for smart grid and smart filter
def changeString = """
[DPDHLPA-26488] ddd
[DPDHLPA-26488] aaa
[DPDHLPA-26488] bbb
[DPDHLPA-26488] aaa
[DPDHLPA-26489] ccc
[DPDHLPA-26488] ddd
"""
def result = changeString.readLines()
.collect{it=~/(DPDHLPA-[0-9]+)/}.findAll()
.collect{it[0][0]}.unique().sort().join('\n')
使用 List/Collection/Iterable 的方法:
http://docs.groovy-lang.org/latest/html/groovy-jdk/java/util/List.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.