2017-02-26 32 views
0

我正在使用Jenkins自动运行作业。我也使用Bitbucket Server作为版本控制系统。Jenkins工作DSL:在Groovy脚本中提取最后一次提交的分支

我建立在我的到位桶回购任何改变我的詹金斯工作DSL(每次提交)使用,创造就业机会的一些Groovy脚本:

job(jobName) { 
    steps { 
    // Doing some staff. Need name of branch where last commit was done 
    } 
    scm { 
     git('ssh://[email protected]<my_git_host>/<my_project>/<my_repo>.git', '**') 
    } 
    triggers { 
    bitbucketPush() 
    scm '' 
    } 

所以,当我在做一些提交到my_repo这作业运行,我想提取分支的名称提交完成。是否有可能做到这一点?

P.S.在Jenkins端(UI)我可以看到当前执行的分支的名称,但我不知道如何在常规方面提取它。

+0

您是否正在寻找对分支在提交发生运行的计划吗?或者每当有一个提交时只是一个特定的分支? – KeepCalmAndCarryOn

+0

@KeepCalmAndCarryOn,我很感兴趣,从我的资源库的每个分支发生提交 – smart

回答

1

基本上,每个构建的分支信息都将存储在ID为“GIT_BRANCH”的环境变量中,因此有很多方法来提取它。

,你可以简单地添加下面的脚本

job(jobName) { 
    steps { 
     shell(''' 
       echo $GIT_BRANCH 
      '''.stripIndent().trim()) 
      } 
    scm { 
     git('ssh://[email protected]<my_git_host>/<my_project>/<my_repo>.git', '**') 
    } 
    triggers { 
    bitbucketPush() 
    scm '' 
    } 
+0

谢谢!这些变量是否记录在某个地方? – smart

+0

雅只需点击内部编号,它就会打开编译信息页面。在该页面左侧,您可以看到环境变量选项卡 –

相关问题