我在 groovy 中设置了一个管道,需要提取在 git 中提交一些代码的完整描述。我在网上搜索过,似乎找不到解决方案。我可以提交标题,但是当它非常大时,我无法完成它,因为标题在一定数量的字符处被截断,代码
我用的是: sh(脚本: 'git log --format:"%B"', returnStdout: true).trim()
要获取完整的提交描述(包括标题和正文),使用
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 变量。