3

我必须在 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()

我不知道如何获取所需的信息。

我们正在使用:

  • 团队城市 8
  • JetBrains 的 git 提供程序
  • 窗口主机
4

2 回答 2

2

我从 JetBrains 官方支持论坛得到了正确答案:

如果您想在通知中包含有关构建修订的信息,您可以尝试使用类似这样的内容(另请参阅 SBuild.getRevisions 方法):

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

几点注意事项:

  • 构建中可以有多个 VCS 根,因此修订数对应于 VCS 根数
  • 如果尚未为构建收集更改,或者在收集更改时发生了一些错误,则修订集合将为空。

帕维尔·谢尔

于 2013-12-30T21:13:02.553 回答
2

你可以试试

Branch: ${build.vcs.number}

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

Branch: ${build.vcs.number.1}
于 2013-12-19T22:11:12.693 回答