在TeamCity成功的电子邮件模板中包含git分支名称和最新提交SHA

时间:2013-12-19 21:21:14

标签: git teamcity email-templates teamcity-8.0

我必须在TeamCity成功的电子邮件模板中包含分支名称和最新的git commit SHA。

我已将这些行添加到标准build_successful.ftl电子邮件模板文件中:

<#global body>
...

Commit: ${build.buildNumber}
Branch: ${build.branch.displayName}

...
</#global>

但是收到了这封电子邮件:

Commit: 77
Branch: [TEAMCITY TEMPLATE ERROR]

我发现TC服务器端API模型公开了这些方法: http://javadoc.jetbrains.net/teamcity/openapi/8.0/jetbrains/buildServer/Build.html#getBuildNumber() http://javadoc.jetbrains.net/teamcity/openapi/8.0/jetbrains/buildServer/serverSide/Branch.html#getDisplayName()

我无法弄清楚如何获取所需信息。

我们正在使用:

  • TeamCity 8
  • 由JetBrains提供的git提供程序
  • windows host

2 个答案:

答案 0 :(得分:2)

您可以尝试

Branch: ${build.vcs.number}

这将为您提供“附加到配置的第一个VCS根目录的VCS修订版号”。如果你的git源不是第一个附加的根,你可以附加一个索引来选择它:

Branch: ${build.vcs.number.1}

答案 1 :(得分:2)

我从JetBrains官方support forum获得了正确答案:

  

如果您想在自己的网站中包含有关构建修订的信息   通知您可以尝试使用这样的东西(另见   SBuild.getRevisions方法):

  <#list build.revisions as revision>
    Revision: ${revision.repositoryVersion.displayVersion}
    VCS branch:  ${revision.repositoryVersion.vcsBranch}
  </#list>   
     

几点说明:

     
      
  • 构建中可以有多个VCS根目录,因此修订数量与VCS根目录的数量相对应
  •   
  • 如果尚未收集构建的更改,或者在收集更改,收集修订时发生了一些错误   空。
  •   
     

Pavel Sher