【问题标题】:Detecting if a TeamCity backup was successful using the API使用 API 检测 TeamCity 备份是否成功
【发布时间】:2014-11-20 18:50:58
【问题描述】:

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

【问题讨论】:

  • 如果我需要在这里提供更多信息,请有人告诉我这些信息是什么。

标签: rest powershell backup teamcity


【解决方案1】:

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')

【讨论】:

  • 谢谢,正如我在问题中所说,我可以检测到它何时完成,使用与您相同的原理,但我找不到一种方法来检测它是否成功,因为它只是简单地回到“空闲”状态。
  • 请原谅。你是对的,没有记录的方式来获取这些信息。您可以截屏并猜测生成的文件名是否与您的请求匹配……但这真的很难看。
猜你喜欢
  • 2011-04-17
  • 1970-01-01
  • 2013-11-01
  • 2022-09-23
  • 2011-05-31
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 2013-04-18
相关资源
最近更新 更多