【问题标题】:Comment Message retrieval From Teamcity Build从 Teamcity Build 中检索评论消息
【发布时间】:2013-05-17 11:34:26
【问题描述】:

有没有办法在运行期间检索 teamcity 构建的评论消息。

从 Teamcity 的 wiki 中注意到,有一些方法可以访问和检索服务器构建/代理构建属性:http://confluence.jetbrains.com/display/TCD7/Predefined+Build+Parameters

我想知道,是否存在从构建中检索评论消息字符串的解决方案。如果挂起的更改很少,那么它必须使用一些行分隔符来检索它。

使用系统属性,如果我们在构建中以什么格式定义/添加新属性,当我们以某种方式解析时它会被检索到:teamcity.build.properties.file

谢谢,

【问题讨论】:

  • 有没有办法通过解析一些 tc 创建的文件来检索这样的评论消息?。
  • 只是为了澄清一下,您正在寻找哪些特定的 cmets?您似乎在要求与源代码控制修订相关的评论,但我只是想确定一下。 (我只是在查看 REST API,它看起来至少在 7.1.4 安装中不可用。)
  • 比如说,在任何已执行的构建中,例如,如果我们转到“更​​改”选项卡,它会显示运行构建时使用的更改集。如果它已经运行:比如在最后 4 次不同的提交中,那么“更改”选项卡中将列出 4 条不同的记录器评论消息。通常在正常情况下,它只在提交期间显示用户指定的评论消息。我们遵循一些标准模式来指定评论,我想根据评论字符串验证检索该提交的详细信息。

标签: teamcity teamcity-7.0


【解决方案1】:

为了检索构建的 cmets,您可以使用 TeamCity REST API:

http://teamcity.codebetter.com/guestAuth/app/rest/changes?locator=build:id:216886&fields=change(id,version,href,username,date,webUrl,comment)

如果您在 C# 项目中需要它,您可以考虑使用 FluentTc 库:

IBuild build = new RemoteTc()
   .Connect(_ => _.ToHost("teamcity.codebetter.com").AsGuest())
   .GetLastBuild(
       having => having.Id(216886),
       with => with.IncludeChanges(and => and.IncludeComment()));

【讨论】:

  • 这很好,但是如果 getBuild() 和 GetBuilds() 操作可以使用 with.IncludeChanges(and => and.IncludeComments()) 将会非常有用。
  • 请在 FluentTc 项目上记录问题:github.com/QualiSystems/FluentTc/issues
  • GetLastBuild by build Id 与 GetBuild 相同,因为只有一个构建具有相同的 Id。如果您希望在 GetBuilds 中查看 IncludeChanges,请打开一个问题
猜你喜欢
  • 2011-03-21
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多