【问题标题】:How to programmatically retrieve some build files in TeamCity?如何以编程方式检索 TeamCity 中的一些构建文件?
【发布时间】:2014-11-21 10:49:36
【问题描述】:

我目前正在为 TeamCity 8.1.4 做一个插件来支持我们的工具。后者生成一些 JSON 和 HTML/CSS/JS 文件,我想分别通过图表和某种框架包含在 TeamCity UI 中。

我们的工具应该在每次构建完成后在项目目录中生成这些文件。我在文档中读到我可以创建“构建工件”,它们基本上是保存在服务器端的文件。我想我可以从SBuild 接口使用getArtifactsDirectory() 方法访问它们。问题是,我不知道如何指示 TeamCity 以编程方式创建构建工件。或者,也许我正在倒退,还有另一种方法可以做到这一点......我会很感激一些指点,因为插件社区论坛看起来已经死了。

【问题讨论】:

    标签: java plugins teamcity teamcity-8.0


    【解决方案1】:

    如果您希望添加 HTML 内容来构建结果或项目,请查看此文档页面:'Including third-party reports in build results'

    本文档中描述的配置可以使用 Java API 完成:

    • 请参阅 jetbrains.buildServer.web.reportTabs.ReportTabManager 文档以在服务器端配置选项卡设置。
    • 请参阅jetbrains.buildServer.agent.artifacts.ArtifactsWatcher 以从构建代理发布文件。这个用于将文件发布为构建工件。

    UPD 插件可以使用上述组件来配置“第三方报告选项卡”(无需任何手动配置)。这样,插件可以从构建中提供 html 报告,而无需访问上传的工件。

    【讨论】:

    • 感谢您的回答。但是我相信 ReportTabManager 现在被称为 ReportTabUtil 对吧?
    • 没有。 ReportTabManager 是不同的 bean,您可以从 Spring 上下文中获取它。它有 createBuildReportTabcreateProjectReportTab 方法,这对你来说应该很有趣。另外,请参阅答案正文中的更新。
    • 谢谢。我在TeamCity's Javadoc 中找不到 ReportTabManager... 是什么原因?
    • 看起来 ReportTabManager 没有被列为开放 API,被认为是内部的。
    猜你喜欢
    • 2012-04-14
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    相关资源
    最近更新 更多