Добавление триггера для создания конфигурации в 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.

Другие вопросы по тегам