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