Могу ли я отменить сборку TeamCity из моего скрипта msbuild? - PullRequest
9 голосов
/ 08 ноября 2010

TeamCity позволяет мне сообщать о своем сценарии MsBuild, используя взаимодействие ## teamcity .Я могу использовать это, чтобы сообщить TeamCity, что сборка СБОЙСЯ или действительно УДАЛЕНА, однако я бы хотел вместо этого отменить сборку.Кто-нибудь знает способ сделать это?

Я могу использовать это, чтобы сообщить TeamCity о неудаче ...

<Message Text="##teamcity[buildStatus status='FAILURE']" Condition="Something==SomeCondition" />

Я бы с удовольствием это сделал ...

<Message Text="##teamcity[buildStatus status='CANCEL']" Condition="Something==SomeCondition" />

Я попробовал Задачи службы TeamCity , но пока ничего.

РЕДАКТИРОВАТЬ:

Таким образом, кажется, что эта функция недоступна, хотя * обходной путь http запрос может быть использован для отмены сборки.Существует также запрос функции для отмены сборки сайта TC.

Ответы [ 4 ]

2 голосов
/ 26 сентября 2014

Вы можете использовать недокументированный http-запрос, который изменился с тех пор, как был первоначально отправлен . Теперь вам нужно "operationKind = 1". Я использовал бегун PowerShell так:

$buildId = %teamcity.build.id%
$uri = "http://teamcity/ajax.html?guest=1&comment=Cancelling+build+for+some+reason&submit=Stop&buildId=$buildId&kill&operationKind=1"
$response = Invoke-WebRequest -UseBasicParsing -Uri $uri

Другой пост SO может рассказать вам, как сделать http-запрос от MSBuild

«guest = 1» означает, что я использую гостевую учетную запись, которая как минимум требует «Остановить сборку / удалить из очереди» для проекта, который вы собираетесь отменить.

2 голосов
/ 28 сентября 2016

Начиная с Teamcity 8.1 ( Источник ), можно отменить сборку через REST API.

Взято из документации 9.x , отменяя текущую сборку

curl -v -u user:password --request POST "http://teamcity:8111/app/rest/builds/<buildLocator>" --data "<buildCancelRequest comment='' readdIntoQueue='false' />" --header "Content-Type: application/xml"
1 голос
/ 08 мая 2019

В соответствии с JetBrains проблема отслеживания и страница выпуска , так как TeamCity 2019.1 EAP 1 сборки могут быть остановлены с служебным сообщением, как в:

##teamcity[buildStop comment='canceling comment' readdToQueue='true']
1 голос
/ 08 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...