如何在 groovy IF 语句中将表达式与字符串进行比较

How to compare an expression to a string in groovy IF statement

我的 groovy 脚本中有以下 IF 条件:

if (git log -1 --pretty=format:'%an' == 'xyz')

这里我想要实现的是我需要具有

的值
git log -1 --pretty=format:'%an'

等于某个字符串让我们在这里说 xyz 我可以在 shell 中轻松做到这一点,如下所示

if [ `git log -1 --pretty=format:'%an'` == "xyz" ]

但无法在我的 groovy IF

中使用它

如果你在 Jenkinsfile 中使用它

def log = sh(returnStdout: true, script: "git log -1 --pretty=format:'%an'").trim()
if (log == 'xyz') {
  ...
}

如果你在纯 Groovy 中使用它(下面的解决方案也适用于 Jenkinfile)

def log = "git log -1 --pretty=format:'%an'".execute().text
if (log == 'xyz') {
  ...
}