使用API​​检测TeamCity备份是否成功

时间:2014-11-20 10:09:45

标签: rest powershell backup teamcity

我正在编写一个PowerShell脚本来使用REST API运行TeamCity数据备份,虽然我可以启动备份并检测它何时完成,但我找不到API调用来告诉我备份是否成功。我是否遗漏了某些内容,或者这些信息是否无法通过API获取?

1 个答案:

答案 0 :(得分:0)

API是异步的,所以在我的备份脚本中,我循环查看它何时完成。

#start backup
$StartBackupUrl = "http://$TeamCityHostAndPort/httpAuth/app/rest/server/backup?includeConfigs=true&includeDatabase=true&includeBuildLogs=true&fileName=TeamCity_Backup_"
$filename = Invoke-RestMethod -WebSession $TeamCitySession -Method Post -Uri $StartBackupUrl

Write-Host "TeamCity backup on $filename started"

# wait for backup to finish
$GetBackupStatusUrl = "http://$TeamCityHostAndPort/httpAuth/app/rest/server/backup"
do {
    $backupStatus = Invoke-RestMethod -WebSession $TeamCitySession -Method Get -Uri $GetBackupStatusUrl
    Start-Sleep -Seconds 60
} while ($backupStatus -eq 'Running')