2017-04-06 1 views
2

팀 빌드 빌드 lastsuccessful에서 아티팩트 하나만 다운로드하는 데 어려움을 겪고 있습니다.팀 시티 빌드에서 아티팩트 목록 가져 오기 정확한 하나만 다운로드하십시오

년 OFC, 나는 모든 이슈를 다운로드 한 다음 http://teamcity/repository/downloadAll/buildTypeId/.lastSuccessful/ 를 사용하여 내 기억에 하나를 찾을 수 있지만, 시간과 트래픽의 거대한 낭비 할 수 있습니다.

lastSuccessful 빌드의 아티팩트 목록을 얻으려면 어떻게해야합니까? 내가 목록을 얻을 수 있다면, 나는 다운로드 요구를 형성하고 내가 필요한 이슈만을 얻을 수있을 것이다. 내 빌드 즉

가 있습니다

  • SetupSoft..buildId.zip
  • Libs..buildId.zip
  • Binaries..buildId.zip는

은 가정하자 난 단지 바이너리 필요 .zip 그 빌드에서, 그래서 내가 유물 목록을 찾을 수 있다면 바이너리 정규식 (또는 뭐든)을 사용하여 선택하고 다음과 같은 다운로드 링크를 만들 것입니다 :

http://teamcity/repository/download/#buildTypeId#/#buildId#/binaries < ..>. 우편 번호

어떻게하면됩니까?

답변

-1

나는 해결책을 찾은 것 같아.

하나 arifacts 목록 즉, 제공 할 수있는 그들 중 몇 가지를 사용하여 URL을 지정
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] 

: 모든 위대한 http://teamcity/app/rest/builds/buildType:xxxx,state:finished/artifacts/

2

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 

그리고 필요한 파일 만 가져올 것입니다. :)

+0

을,하지만 난 당신이 언급 한 빌드 ID를 모르는 여기 가능한 로케이터의 목록입니다 링크 (ID : 75105), 모든 유형 ID (문자열 값) 빌드 및 마지막 successl 빌드가 필요합니다. 이 경우 인공물을 어떻게 얻을 수 있습니까? 'buildTypeId = mybtt'을 사용해 보았지만 금지되어 있습니다 : 잘못된 단일 값 : 'buildTypeId = mybtt'. 숫자 여야합니다. – Amarula

+0

@Amarula 다음과 같이 할 수 있습니다 : $ {APIURL = "$ API_BaseUrl}/httpAuth/app/rest/builds /? locator = buildType : $ {API_BuildType}, 상태 : 완료, 개수 : 1"' Easy 가장 성공적인 빌드를 얻는 방법. 그런 다음 "ID" – JGooLaaR

관련 문제