2013-01-04 9 views
6

The Docs DiesenWie erhält man alle Artefakte als zip mit TeamCity Rest API?

/repository/downloadAll/BUILD_TYPE_ID/BUILD_SPECIFICATION 

für alle Ihre Artefakte als Zip-Datei bekommen, aber das ist das REST-API nicht verwenden. Gibt es eine Möglichkeit in der REST-API dasselbe zu tun? Die Docs scheinen anzuzeigen, dass die Repository-Links nur aus Gründen der Abwärtskompatibilität vorhanden sind.

Antwort

0

Aus der Dokumentation: http://confluence.jetbrains.net/display/TW/REST+API+Plugin#RESTAPIPlugin-buildartifacts

Artifacts: 
GET <TeamcityUrl>/httpAuth/app/rest/builds/<buildLocator>/artifacts/files/<artifact relative name> 

Wenn Sie die Artefakte in einem Teamcity Build herunterladen, sollten Sie mit teamcity.auth.userId/teamcity.auth.password Systemeigenschaften als Anmeldeinformationen für den Download-Artefakte Anfrage: Auf diese Weise wird TeamCity eine Möglichkeit haben, die erstellten Artefakte eines anderen Builds aufzuzeichnen und diese auf der Registerkarte Abhängigkeiten des Builds anzuzeigen.

haben Sie das versucht?

+2

ja. das bekommt individuelle Build-Items 1 mal 1. Ich kann den alten "downloadAll" -Link in meiner Frage verwenden, um einen einzelnen ZIP des gesamten Artifcats zu erhalten. Ich habe nach der REST-API gesucht, um das Gleiche zu tun. –

1

Ich bin mir nicht sicher, es ist dokumentiert, aber es funktioniert.

http://teamcity-url/downloadArtifacts.html?buildId=216886 

Wenn Sie es verwenden, sind .NET Sie den folgenden Code verwenden:

List<string> downloadedFiles = new RemoteTc() 
    .Connect(a => a.ToHost("tc").AsGuest()) 
    .DownloadArtifacts(123, @"C:\DownloadedArtifacts"); 

Der obige Code verwendet FluentTc Bibliothek

2

Sie diese URL verwenden können, ist es für mich funktioniert:

http://<TeamcityUrl>/httpAuth/app/rest/builds/id:<BuildId>/artifacts/archived 

ich benutze Teamcity 9.