2017-08-15 97 views
1

我正在添加構建功能VCS labeling。我可以參考statistics values的標籤模式嗎?類似於是否可以使用統計值作爲構建參數?

build-%system.build.number%-passed-%PassedTestCount%-failed-%FailedTestCount% 

如果不能,我可以傳遞統計值來構建參數?

更新

出於某種原因,REST API請求

http://teamcity:8111/httpAuth/app/rest/builds/id:$buildId/statistics/ 

構建過程中不會返回最值的。我不得不使用請求測試信息。下面是PowerShell腳本:

$buildId=%teamcity.build.id% 
$userId="%system.teamcity.auth.userId%" 
$password="%system.teamcity.auth.password%" 

$ApiCredentials_ForHeader = $userId + ":" + $password 
$ApiCredentialsBase64 = [System.Convert]::ToBase64String(
    [System.Text.Encoding]::UTF8.GetBytes($ApiCredentials_ForHeader)) 
$ApiCredentialsHeader = @{} 
$ApiCredentialsHeader.Add("Authorization", "Basic $ApiCredentialsBase64") 

$testsUrl = "http://teamcity:8111/httpAuth/app/rest/testOccurrences?locator=build:(id:$buildId),count:10000" 

$response = [xml](Invoke-WebRequest $testsUrl -Headers $ApiCredentialsHeader) 

$PassedTestCount = @($response.testOccurrences.testOccurrence | ? { $_.status -eq "SUCCESS" }).count 
$FailedTestCount = @($response.testOccurrences.testOccurrence | ? { $_.status -eq "FAILURE" }).count 

Write-Host "##teamcity[setParameter name='PassedTestCount' value='$PassedTestCount']" 
Write-Host "##teamcity[setParameter name='FailedTestCount' value='$FailedTestCount']" 

這解決了我的問題,但沒有回答的問題。

回答

1

如果其中一個構建步驟是PowerShell(或其他類似的)腳本,則可以使用TeamCity API獲取統計信息。討論了here

相關問題