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, чтобы добраться до артефактов.

Надеюсь это поможет.

Другие вопросы по тегам