如何获取 Jenkins 管道的 git 提交者描述

问题描述 投票:0回答:1

我在 groovy 中设置了一个管道,需要提取在 git 中提交一些代码的完整描述。我在网上搜索过,似乎找不到解决方案。我可以提交标题,但是当它非常大时,我无法完成它,因为标题在一定数量的字符处被截断,代码

我用的是: sh(脚本: 'git log --format:"%B"', returnStdout: true).trim()

gitlab jenkins-pipeline jenkins-groovy git-commit
1个回答
0
投票

要获取完整的提交描述(包括标题和正文),使用

git log
%B
格式是正确的。不过你的代码片段好像被截断了,我帮你修正优化一下。

在使用 Groovy 的 Jenkins 管道中,您可以使用以下命令检索最新提交的完整描述:

def commitMessage = sh(script: 'git log -1 --pretty=%B', returnStdout: true).trim()
echo "Commit Message: ${commitMessage}"

以下是命令的详细说明:

  • git log -1
    :获取最近提交的日志。
  • --pretty=%B
    :格式化输出以显示提交消息的原始正文(标题+描述)。

通过使用

-1
,您可以确保只获取最近提交的日志。
%B
将为您提供提交消息的原始正文,包括标题和任何其他描述。

如果您想获取多个提交的提交消息,可以将

-1
更改为其他数字(例如,
-3
获取最后 3 个提交消息)。

确保您在 Jenkins 环境中安装并配置了必要的 Git 插件,以便在管道中运行 Git 命令。

如果即使使用此命令您也看到一条被截断的消息,则可能存在另一个问题,例如提交消息在后续步骤中的显示或使用方式。确保您没有无意中截断或更改管道脚本中其他位置的 commitMessage 变量。

© www.soinside.com 2019 - 2024. All rights reserved.