使用 jenkins 管道脚本找出最后一次提交

To find out last commit using jenkins pipeline script

我们正在使用以下命令找出对 git

的最后一次提交
{ git log -1 --pretty=format:'%an'; echo "@xyzcompany.com, developer@xyzcompany.com"; } | xargs -I{} echo {} | sed 's/\n//' 

注意:此命令在 jenkins 工作区项目的 CLI 中有效。

如何在 jenkins 管道脚本中注入这个命令??

您可以只使用sh 来执行命令。如果您使用的是声明性语法(以 pipeline 而不是 node 开头),我建议您在 environment 中这样做,这样您就可以在管道的所有阶段读取结果:

environment {
    COMMIT = sh(script: '{ git log -1 --pretty=format:\'%an\'; echo "@xyzcompany.com, developer@xyzcompany.com"; } | xargs -I{} echo {} | sed \'s/\n//\'', returnStdout: true).trim()
}

或者——如果你使用脚本语法——你只需声明一个变量:

def commit = sh(script: '{ git log -1 --pretty=format:\'%an\'; echo "@xyzcompany.com, developer@xyzcompany.com"; } | xargs -I{} echo {} | sed \'s/\n//\'', returnStdout: true).trim()