Артефакт TeamCity из сборки lastSuccessful

Недавно я повторно настроил конфигурацию сборки TeamCity, чтобы воспользоваться преимуществами функций Branch, чтобы применить одну и ту же конфигурацию сборки к нескольким ветвям в том же репозитории.

Теперь я пытаюсь настроить автоматическую сборку script, которая может вытащить последний артефакт из TeamCity, но только для определенной ветки. Я смог заставить его работать нормально в ветке по умолчанию в исходной конфигурации, используя API-интерфейс TeamCity REST, но не могу понять, как отформатировать URL-адрес, чтобы вытащить артефакт для конкретной ветки.

Я просмотрел следующие ресурсы, но безрезультатно:

http://confluence.jetbrains.com/display/TW/REST+API+Plugin http://confluence.jetbrains.com/display/TCD7/Patterns+For+Accessing+Build+Artifacts

Мысли?

Ответ 1

Я только что наткнулся на эту статью .

Я планирую попробовать это в течение следующих двух дней, и если это сработает, я дам краткий обзор результата для всех, у кого есть проблемы с этим.

EDIT:

Извините за задержку, просто понял, что я никогда не возвращался, чтобы сообщить, как мы решили эту проблему.

Мы закончили обновление TeamCity (что мы должны были сделать в любом случае, так что это было неважно), и как только это было закончено, он отлично справился без особых усилий. Теперь мы запускаем TeamCity v8.1.5, и вот шаблон URL, который мы используем, чтобы вытащить наши артефакты:

http://<build-server>/httpAuth/app/rest/builds/buildType:<build-type>,branch:<branch>/artifacts/content/<artifact-path>

ПРИМЕЧАНИЕ. Мы используем API httpAuth для авторизации доступа к артефактам сборки, поэтому нам также пришлось создать нового пользователя TeamCity для наших развертываний.

Ответ 2

На связанной странице добавлен параметр QueryString для меня:

?branch=<branch_name>

Без этого он загружает только артефакты из ветки по умолчанию.

Наш полный URL:

http://<buildserver>/repository/downloadAll/<BuildId>/.lastFinished?branch=<branchname>

Которая загрузит последнюю сборку из ветки "branchname" в конфигурацию "buildid".

Ответ 3

Вы можете создать URL-адрес следующим образом:

http://<TeamCity-Server>/guestAuth/repository/download/<BUILD_TYPE_ID>/<BUILD_NUMBER>/<ARTIFACT_PATH>