2013-01-04 18 views
6

The Docs hiển thị nàyLàm thế nào để có được tất cả các hiện vật như là một zip bằng cách sử dụng TeamCity Rest API?

/repository/downloadAll/BUILD_TYPE_ID/BUILD_SPECIFICATION 

để nhận tất cả các hiện vật của bạn như là một tập tin zip, nhưng đó không phải là sử dụng REST API. Có cách nào trong REST API làm điều tương tự không? Các tài liệu dường như chỉ ra rằng các liên kết kho lưu trữ chỉ có cho khả năng tương thích ngược.

Trả lời

0

Từ các tài liệu: http://confluence.jetbrains.net/display/TW/REST+API+Plugin#RESTAPIPlugin-buildartifacts

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

Nếu bạn tải về các hiện vật từ bên trong một TeamCity xây dựng, xem xét sử dụng thuộc tính hệ thống teamcity.auth.userId/teamcity.auth.password như thông tin cho các hiện vật tải yêu cầu: theo cách này TeamCity sẽ có cách để ghi lại rằng một xây dựng được sử dụng hiện vật của người khác và sẽ hiển thị rằng trên tab phụ thuộc của xây dựng.

bạn đã thử cái này chưa?

+2

có. điều này được cá nhân xây dựng các mục 1 của 1. Tôi có thể sử dụng liên kết "downloadAll" cũ trong câu hỏi của tôi để có được một ZIP duy nhất của toàn bộ các artifcats. Tôi đang tìm REST API để làm điều tương tự. –

1

Tôi không chắc là tài liệu đó được viết nhưng nó hoạt động.

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

Nếu bạn đang sử dụng nó từ NET bạn có thể sử dụng đoạn mã sau:

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

Đoạn mã trên sử dụng FluentTc thư viện

2

Bạn có thể sử dụng URL này, nó hoạt động cho tôi:

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

Tôi sử dụng TeamCity 9.

Các vấn đề liên quan