Добавление триггера для создания конфигурации в TeamCity через REST API и PowerShell
Я пытаюсь добавить триггер сборки в конфигурацию сборки автоматически через PowerShell и TeamCity 8 REST API.
Используя следующий вопрос в качестве ссылки, можно предположить, что то, что я пытаюсь сделать, возможно: добавление триггера в конфигурацию сборки в TeamCity с использованием REST API
Но всякий раз, когда я пытаюсь добавить триггер в сборку, используя следующий код, я получаю (405) Method Not Allowed
ошибка:
$triggerXML= "<trigger id=`"TriggerID`" type=`"buildDependencyTrigger`">
<properties>
<property name=`"afterSuccessfulBuildOnly`" value=`"true`"/>
<property name=`"dependsOn`" value=`"BuildID`"/>
</properties>
</trigger>"
$webclient.UploadString('http://teamcity:8111/httpAuth/app/rest/buildTypes/BuildID', "POST", $triggerXML)
Кто-нибудь успешно реализовал это с помощью PowerShell?
1 ответ
Не тот API, но у меня есть скрипты, которые автоматизируют TeamCity.
Вот фрагмент кода, который я использую:
$TeamCityHostAndPort = "myteamcityserver:8111"
# authenticate with NTLM
$LoginUrl = "http://$TeamCityHostAndPort/ntlmLogin.html"
Invoke-WebRequest -Uri $LoginUrl -UseDefaultCredentials -SessionVariable TeamCitySession | Out-Null
#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
обратите внимание на первый вызов для проверки подлинности (я отключил встроенных пользователей и придерживаюсь аутентификации Windows) и сеанс проверки подлинности, переданный последующим вызовам.Invoke-RestMethod
это Powershell v4.