管道脚本在gitlab

时间:2017-10-30 09:59:29

标签: jenkins groovy gitlab jenkins-pipeline

我们刚刚开始使用 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上获得提交但是它没有。如果我走在正确的轨道上,请告诉我。

1 个答案:

答案 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)