In Groovy - 如何在 git 标签列表中添加逗号?

In Groovy - How to add comma in git tag list?

我在回购上做 git 标记并低于输出。

命令

def tagversion = sh(script:""" git tag --sort=v:refname """, returnStdout:true).trim()

输出:-

1.0
1.10.0
1.11.0
1.6
1.7
1.7.1

如何在每个版本后添加逗号?

预期输出

1.0,
1.10.0,
1.11.0,
1.6,
1.7,
1.7.1

我试过下面的代码,但在最后一个版本中也添加了逗号,整个列表显示为单个字符串。

sh(script:""" git tag --sort=v:refname | tr '\n' ',' """, returnStdout:true).trim()

sh returns 你一个字符串,readLines() 会把它拆分成一个数组,join 会用一些分隔符把它放回字符串

sh(...).trim().readLines().join(',\n')

如果您是shell剧本的粉丝:

stage('Test') {
        steps { script {
            def tagversion = sh(script:''' git tag --sort=v:refname | awk '{printf "%s%s",SEP,[=10=];SEP=", "}END{print ""}' | tr ' ' '\n' ''', returnStdout:true).trim()
            echo tagversion
        }}
    }

取自@daggett 的回答,其中有一个轻微的转义字符错误:

stage('Test') {
        steps { script {
            def tagversion = sh(script:''' git tag --sort=v:refname ''', returnStdout:true).trim().readLines().join(',\n')
            echo tagversion
        }}
    }