我正在使用Jenkins自动运行作业。我还使用Bitbucket Server作为版本控制系统。
我使用一些groovy脚本创建作业,在我的Bitbucket仓库中的任何更改(每次提交)上设置我的Jenkins作业DSL:
job(jobName) {
steps {
// Doing some staff. Need name of branch where last commit was done
}
scm {
git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
}
triggers {
bitbucketPush()
scm ''
}
所以,当我在my_repo
进行一些提交时,这个工作就会运行,我想提取已经完成提交的分支的名称。有可能以某种方式做到吗?
P.S。在Jenkins方面(UI)我可以看到当前执行的分支名称,但我不知道如何在groovy端提取它。
答案 0 :(得分:1)
基本上,分支信息将存储在具有ID&#34; GIT_BRANCH&#34;的环境变量中。对于每个构建,所以有很多方法可以提取它。
您只需添加以下脚本
即可job(jobName) {
steps {
shell('''
echo $GIT_BRANCH
'''.stripIndent().trim())
}
scm {
git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
}
triggers {
bitbucketPush()
scm ''
}