Rest API - Put или Patch - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь использовать Rest API для изменения значений в сборке TFS2017 с использованием powershell.У меня это работает в Postman, но я использую метод PUT, который требует, чтобы вы указали все значения для обновления сборки.

Я пытаюсь найти решение, которое обновит одну переменную, а все остальное останется прежним.Я не уверен, что моя конечная точка верна.Это то, что у меня есть

http://MyTFS:8080/tfs/DefaultCollection/Project/_apis/build/definitions/MyBuildID?api-version=3.0

Когда я запускаю GET для этого, у меня есть:

*A bunch of text*
    "variables": {
        "system.debug": {
            "value": "false",
            "allowOverride": true
        },
        "BuildVersion": {
            "value": "ValueIWantToChange"
        }
    },
*A bunch of text*

Я успешно использовал метод put и не прочь использовать его так долготак как количество переменных не является чрезмерным.Я пытался использовать метод Patch, но он не поддерживается.

Единственное, что я хочу изменить, - это версия сборки.Мне нужен простой запрос для обновления этого значения.Я впервые использую вызовы API REST, поэтому извините, если это слишком просто.

Редактировать: Когда я запускаю патч, я просто получаю "Запрошенный ресурс не поддерживает httpметод "PATCH" ".Может я тут ошибаюсь?Мое тело json выглядит так для запроса:

{
    "Variables":
    {
        "BuildVersion": 
        {
            "value": "ValueToChangeTo"
        }
    }
}

Я думаю, что было бы также хорошо упомянуть, что когда я настраивал Powershell для запуска команды PUT, я также получаю ту же ошибку.PUT правильно работает в Почтальоне, поэтому я не вижу, в чем проблема.

1 Ответ

0 голосов
/ 31 мая 2018

API с самоописанием великолепны - а информативные сообщения об ошибках еще лучше!Похоже, вы ответили на свой вопрос с сообщением об ошибке:

"The requested resource does not support http method 'PATCH'"

Похоже, он просто не поддерживает PATCH (что довольно часто встречается).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...