繁体   English   中英

从 Jenkins “sh” 到 groovy

[英]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.

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