Teamcity REST API: получите путь к артефакту
У меня есть некоторые проблемы: есть сборка с n шагов. Последний шаг - это пользовательский C# уведомитель, который отправляет электронные письма о состоянии сборки. Теперь мне нужно получить артефакты и прикрепить их к моей электронной почте. Проблема в том, что на последнем этапе у нас еще нет архивных артефактов, поэтому мы должны найти их сами и архивировать. В некоторых конфигурациях у меня нет какого-либо свойства "каталог проверки". Итак, как мне получить корневую папку проверки и путь к артефакту?
1 ответ
Чтобы прикрепить файлы к вашей электронной почте, я не думаю, что вам нужно использовать REST API, а встроенные параметры для поиска различных путей и местоположений. Без полного понимания вашего конвейера сборки я могу только догадываться, что это то, что вам нужно знать.
По встроенным параметрам
TeamCity предлагает ряд параметров, которые помогут вам с различными путями
%teamcity.agent.work.dir%
- это рабочий каталог агента%teamcity.build.checkoutDir%
- Это каталог проверки агента%system.teamcity.build.tempDir%
- Это временный каталог сборки
Вывод их как часть простой сборки, мой:
Просмотр журнала сборки поможет вам понять, куда идут различные биты. Опять же, не полностью оценивая ваши настройки сборки, я могу только обобщить, но здесь мы можем видеть, что .nupkg
производится в каталоге оформления заказа.
TeamCity не будет публиковать артефакты до тех пор, пока не будет выполнен последний шаг сборки в конфигурации сборки, если вы не захотите принудительно использовать это ##teamcity[publishArtifacts '<path>']
, но я не думаю, что это поможет вам, если вы не пытаетесь затем вызвать REST API, чтобы добраться до артефактов.
Надеюсь это поможет.