我们刚刚开始使用 Jenkins 为我们的项目构建。 我正在弄清楚如何在管道脚本中获取 Gitlab 的提交者。 这是我现在出现的剧本:
checkout([$class: 'GitSCM', branches: [[name: ':origin/development']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'AuthorInChangelog']], submoduleCfg: [],
userRemoteConfigs: [[credentialsId: 'gitlab-jenkins-ssh-key', url:
'git@192.168.100.890:root/hello-world-example.git']]])
我认为AuthorInChangelog
可以帮助我在Gitlab上获得提交但是它没有。如果我走在正确的轨道上,请告诉我。
答案 0 :(得分:1)
以下groovy函数将返回提交者的名称:
def getCommitter(){
cmtrws = sh(returnStdout: true, script:'''
git show -s --format=\'%ce\' | tr -d "'" | cut -d@ -f1
''').trim()
return cmtrws
}
为了使用它:
def committer = getCommitter()
或者如果您更喜欢使用bash块:
committer=$(git show -s --format=\'%ce\' | tr -d "'" | cut -d@ -f1)