我很难从lastsuccessful
teamcity build中只下载一个工件。
Ofc,我可以下载所有工件,然后在我的存储上找到一个工件 http://teamcity/repository/downloadAll/buildTypeId/.lastSuccessful/ 但这是浪费时间和流量的巨大浪费。
如何获取lastSuccessful
版本中的工件列表?
如果我能够获得列表,那么我将能够形成下载请求并仅获得我需要的工件。
即。我的构建有:
假设我只需要来自该构建的Binaries.zip,所以如果我要找到工件列表,我会选择使用正则表达式(或其他)的二进制文件,然后像这样创建下载链接:
http://teamcity/repository/download/#buildTypeId#/#buildId#/binaries< ..>的.zip
我该怎么做?
答案 0 :(得分:3)
TeamCity有api。用它。 文物清单:
http://teamcity:8008/httpAuth/app/rest/builds/id:75105/artifacts
在我的情况下,我在工件目录中有几个文件夹,选择一个,获取文件列表:
http://teamcity:8008/httpAuth/app/rest/builds/id:75105/artifacts/children/Scripts
看起来像:
<files count="1">
<file name="000-201704070732-000000-00000-0160609.07.Build-0088.01.Schema.sql" size="88340" modificationTime="20170407T074931+0300" href="/httpAuth/app/rest/builds/id:75105/artifacts/metadata/Scripts/000-201704070732-000000-00000-0160609.07.Build-0088.01.Schema.sql">
<content href="/httpAuth/app/rest/builds/id:75105/artifacts/content/Scripts/000-201704070732-000000-00000-0160609.07.Build-0088.01.Schema.sql"/>
</file>
</files>
然后做GET:
http://teamcity:8008/httpAuth/app/rest/builds/id:75105/artifacts/content/Scripts/000-201704070732-000000-00000-0160609.07.Build-0088.01.Schema.sql
你只需要你需要的档案,就是这样。 :)
答案 1 :(得分:-1)
我想我找到了解决方案。 以下是可能的定位器列表:
Supported dimensions are: [id, taskId, project, affectedProject, buildType, branch,
agent, user, personal, state, tag, property, compatibleAgent, number, status, canceled,
pinned, queuedDate, startDate, finishDate, sinceBuild, sinceDate, untilBuild, untilDate,
failedToStart, snapshotDependency,
artifactDependency, hanging, history, defaultFilter, $singleValue, start, lookupLimit]
使用其中的几个指定url可以提供一个arifacts列表,即: http://teamcity/app/rest/builds/buildType:xxxx,state:finished/artifacts/