2010-11-08 16 views
9

TeamCity, MsBuild komutumdan ## teamcity etkileşimini kullanarak rapor vermeme izin veriyor. Bunu, TeamCity'ye yapının başarısız olduğunu veya gerçekten de BAŞARILI olduğunu söylemek için kullanabilirim, ancak bunun yerine yapıyı CANCEL'e bildirmek istiyorum. Bunu yapmanın bir yolu var mı?Bir TeamCity yapısını msbuild komutumdan iptal edebilir miyim?

Ben başarısızlık TeamCity bilgilendirmek için kullanabilir ...

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

...

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

Ben bugüne kadar TeamCity Service Tasks başka bir şey denedim .

DÜZENLEME:

Bu yüzden bir workaround http request bir yapı iptal etmek için kullanılabilir, ancak bu özellik, mevcut değildir görünüyor. TC web sitesini kurmayı iptal etmek için feature request da bulunmaktadır. Eğer hoşunuza giden bir şeyse (veya bana yardım etmek ister misin?) O zaman oy verin!

Alkış

cevap

1

sadece bu yapı yürütülmesi durmasına neden olmalı, Error task kullanılamaz.

+3

Evet Şu anda yapı durdurmak için kullanabilir ama biz TC dahilinde davranış İptal düğmesine basarak aynı olmasını istediğiniz inşa çalışan. –

2

it was originally posted'dan beri değişen belgesiz http isteğini kullanabilirsiniz. Şimdi "operationKind = 1" e ihtiyacınız var. Bir powershell koşucu şöyle kullandı: Başka SO sonrası nasıl söyleyebilirim

$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 

make an http request from MSBuild

"konuk = 1" Ben en az "Dur ihtiyacı konuk hesabını kullanıyorum demektir İptal etmek için proje için "kuyruğu oluşturun/kaldırın".

2

Teamcity 8.1'den (Source) beri Build'i REST API aracılığıyla İptal Etmek mümkündür.

iptal 9.x Documentation Alındığı bir anda

curl -v -u user:password --request POST "http://teamcity:8111/app/rest/builds/<buildLocator>" --data "<buildCancelRequest comment='' readdIntoQueue='false' />" --header "Content-Type: application/xml" 
İlgili konular