2016-03-30 8 views
0

Bir vSonraki VSTS oluşturma adımında çağrılan son başarılı yapıdan bu yana tüm değişiklikleri almak için bir PowerShell komut dosyasında RESTAPI kullanıyorum.VSTS build RestAPI, son başarılı veya kısmi başarılı yapıdan başlayan değişiklikleri geri almak için

$TfsUrl = 'https://' + $Account + '.visualstudio.com/defaultcollection/' + $ProjectName 

$CurrentBuildUrl = $TfsUrl + "/_apis/build/builds?api-version=2.0"+ "&definitions=" + $BuildDefinitionID + "&`$top=1" 

$CurrentBuildDef = Invoke-RestMethod -Uri $CurrentBuildUrl -Headers $Headers -Method Get 

$BuildId = $CurrentBuildDef.value.id 

$BaseUrl = "https://" + $Account + ".visualstudio.com/defaultcollection/_apis/tfvc/changesets" 
$ChangeSetHistoryUrl = $TfsUrl + "/_apis/build/builds/$BuildId/changes?api-version=2.0" 
$ChangeSetsHistoryDef = (Invoke-RestMethod -Uri $ChangeSetHistoryUrl -Headers $Headers -Method Get).value 

Daha sonra, buradaki değişiklikleri değiştirip bir dosyaya ayrıntıları yazarım.

Başarılı bir yapı oluşturduğumda bu işlem tamam çalışıyor.
Kısmi başarılı bir yapı oluşturduğumda çalışmaz, yani Bazı Kısıtlama Testleri Başarısız.

En son kısmi başarılı yapıdan beri başarılı derlemeden tüm değişiklikleri içerir.

Son başarılı veya kısmi başarılı yapıdan (hangisi daha uzunsa) beri tüm değişiklik listelerini almak istiyorum.

Bu mümkün mü?

cevap

0

Hayır, herhangi bir yolu yoktur bunu şimdilik yap. "Yapı değişiklikleri olsun" API'si, her zaman geçerli yapıdaki değişiklikleri almak için son başarılı bir şekilde karşılaştırmakla karşılaştırılır. Yapının durumu başarı veya kısmi başarıdan bağımsız olarak son yapıyla karşılaştırmak için herhangi bir seçenek yoktur. Bunun için VSTS User Voice numaralı telefondan bir özellik isteği gönderebilirsiniz.

1

içeren bir liste olsun resultFilter parametre eklemek deneyebilirsiniz kurar:

$CurrentBuildUrl = $TfsUrl + "/_apis/build/builds?api-version=2.0"+ "&definitions=" + "&resultFilter=" + "&`$top=1" 

resultFilter: enum {başardı partiallySucceeded}

İlgili konular