У меня проблемы с загрузкой артефактов из TeamCity. На Страница слияния TeamCity он говорит использовать
/repository/download/BUILD_TYPE_EXT_ID/.lastFinished/ARTIFACT_PATH
/repository/download/BUILD_TYPE_EXT_ID/.lastSuccessful/ARTIFACT_PATH
/repository/download/BUILD_TYPE_EXT_ID/.lastPinned/ARTIFACT_PATH
чтобы скачать артефакты. Однако я всегда получал страницу 404, которая не найдена. Например, если я смотрю на панель URL-адресов артефакта, который хочу загрузить в TeamCity,
https://teamcity.MyServer.com/viewLog.html?buildId=12345&buildTypeId=MyProjectName&tab=artifacts
И затем я заполняю вызов REST API в соответствии с этой страницей слияния
https://teamcity.MyServer.com/repository/download/MyProjectName/.lastSuccessful/12345
Я всегда получал 404 Page Not Found. И просто для проверки вменяемости я тоже попробовал
https://teamcity.MyServer.com/httpAuth/repository/download/MyProjectName/.lastFinished/artifact_folder.zip
https://teamcity.MyServer.com/httpAuth/repository/download/MyProjectName/.lastFinished/artifact_folder
https://teamcity.MyServer.com/httpAuth/repository/download/MyProjectName/.lastFinished/httpAuth/app/rest/builds/id:1234/artifacts/children/artifact_folder/v0.1.3
но никто из них не работает.
Когда я сокращаю URL до
https://teamcity.MyServer.com/repository/download/MyProjectName
Я вижу страницу с URL-ссылками, однако, когда я нажимаю на любую из них, я получаю ERR_CONNECTION_TIMED_OUT, This site can’t be reached
В настоящее время я использую Как программно загрузить артефакты из последней сборки Team City с помощью C#? для загрузки артефактов, но мне кажется, что официальный документированный способ должен работать.
Итак, как мне заставить работать /repository/download/
?
ARTIFACT_PATH - это путь к файлу, а не к папке. Итак, правильный URL-адрес будет: https://teamcity.MyServer.com/httpAuth/repository/download/MyProjectName/.lastFinished/ARTIFACT_PATH
Например, если на вкладке «Артефакты» вы видите следующую структуру «t100 / generic / test.log», то ARTIFACT_PATH - это t100 / generic / test.log.