Асинхронно добавлять артефакт сборки в TeamCity

У меня есть конфигурация сборки, которая просто запускает скрипт powershell, и ниже показано, что делает этот скрипт

  • Вызовите метод API первого отдыха, который запускает длительное задание
  • Вызовите второй метод API оставшегося состояния, который проверяет состояние задания (периодически, до завершения состояния)
  • Наконец, вызовите третий метод API rest, который загружает HTML-файл отчета (артефакт)

Все отлично работает, и в конце концов я показываю отчет на вкладке отчета. Обратите внимание, что остальные API-методы относятся к какой-то другой системе, но не являются API-интерфейсами остальных команд TeamCity.

Проблема в том, что этот скрипт блокирует агент сборки до тех пор, пока не завершится выполнение долго выполняющегося задания. То, что я ищу, это конечная точка TeamCity, так что он может добавить артефакт в законченную сборку. Другая система может отправить файл отчета в конечную точку отдыха. Я проверил раздел Build Artifacts руководства TeamCity Rest API, но кажется, что есть только несколько методов GET, мне нужен метод POST.

Кто-нибудь может предложить другое решение или прояснить мне, если TeamCity уже имеет эту функцию?

1 ответ

Решение

В настоящее время это не поддерживается. Соответствующий запрос в системе отслеживания проблем TeamCity: https://youtrack.jetbrains.com/issue/TW-11277. Текущий идентификатор обходного пути для помещения файлов в <TC_DATA_DIR>/system/artifacts/PROJECT_ID/BUILD_CONFIGURATION_ID/INTERNAL_BUILD_ID каталог.

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