Вы предоставляете неправильную структуру JSON. Это parameters
, а не variables
, и неправильный способ указания пар ключ / значение.
Этот фрагмент PowerShell должен указать вам правильное направление:
$url = 'http://test-tfs-instance:8080/tfs/myCollection'
$body = @{
definition = @{
id = 1435
}
parameters = '{"MyParam":"OverriddenValue","system.debug":"false"}'
}
Invoke-RestMethod -Uri "$($url)/TeamProject/_apis/build/builds?api-version=3.1" -UseDefaultCredentials -Method Post -ContentType 'application/json' -body ($body | convertto-json -Compress -Depth 10)
Что бы это ни стоило, такого рода вещи легко обнаружить, открыв инструменты разработчика в вашем браузере и посмотрев вызов REST, который делает пользовательский интерфейс TFS. Иногда документация неясна (как в данном случае), но сложно запутаться, когда вы копируете те же самые вызовы REST, которые делает приложение.