【发布时间】:2016-08-17 19:43:09
【问题描述】:
我有一些问题: 有一个 n 步骤的构建。最后一步是自定义 c# 通知程序,用于发送有关构建状态的电子邮件。现在我需要接收工件并将它们附加到我的电子邮件中。问题是在最后一步我们还没有压缩工件,这就是为什么我们需要自己找到它们并压缩。在某些配置中,我没有任何属性“结帐目录”。那么,如何获取根结帐文件夹和工件路径?
【问题讨论】:
标签: c# teamcity artifacts teamcity-rest-api
我有一些问题: 有一个 n 步骤的构建。最后一步是自定义 c# 通知程序,用于发送有关构建状态的电子邮件。现在我需要接收工件并将它们附加到我的电子邮件中。问题是在最后一步我们还没有压缩工件,这就是为什么我们需要自己找到它们并压缩。在某些配置中,我没有任何属性“结帐目录”。那么,如何获取根结帐文件夹和工件路径?
【问题讨论】:
标签: c# teamcity artifacts teamcity-rest-api
为了将文件附加到您的电子邮件中,我认为您不需要使用 REST API,而是需要使用内置参数来查找各种路径和位置。在不完全了解您的构建管道的情况下,我只能猜测这是您需要知道的。
TeamCity 提供了许多参数,可帮助您处理各种路径
%teamcity.agent.work.dir% - 这是代理的工作目录%teamcity.build.checkoutDir% - 这是代理的结帐目录%system.teamcity.build.tempDir% - 这是临时构建目录将这些作为简单构建的一部分输出,我的是:
查看构建日志将帮助您确定各个部分的去向。在没有完全了解您的构建设置的情况下,我只能概括,但在这里我们可以看到在结帐目录中生成了 .nupkg。
除非您想使用##teamcity[publishArtifacts '<path>'] 强制执行此操作,否则TeamCity 直到在构建配置中执行最后一个构建步骤之后才会发布工件,但我认为这对您没有帮助,除非您尝试调用REST API 来获取工件。
希望这会有所帮助。
【讨论】:
http://teamcity:8111/httpAuth/app/rest/builds/id:<build id>/resulting-properties,但我只能看到已完成构建的结帐目录。我认为,某处需要是构建的所有属性,避免日志解析