Я пытаюсь поставить в очередь сборку с моих серверов TFS, используя пакет nuget TFS Rest API для c #.Однако после отправки запроса на сервер с JSON:
"definition":{ "id":63 }
я получаю ответ 400 с ошибкой:
message=Value cannot be null. Parameter name: build.Definition
Я думаю, что отправляю JSON правильно,учитывая то, что до того, как я получил ошибки, я не могу сказать, что его нельзя десериализовать, или, во-первых, не было JSON.
Может ли кто-нибудь помочь мне выяснить, что является причиной этой ошибки и как ее исправить?
Для справки и демонстрации того, что я уже использовал в качестве справки:
Документация Microsoft
Построение очереди с использованием Powershell
Снова Очередь сборки в powershell
и ряд других статей (google "сборка очередей tfs rest api c #")
//post request for queuing the build
var client = new RestClient(websiteName);
var request = new RestRequest("_apis/build/builds?ignoreWarnings=true&sourceBuildId=63&api-version=4.0", Method.POST, DataFormat.Json);
Dictionary<string, string> values = new Dictionary<string, string>();
values.Add("{\"definition\"", "{\"id\":63}}");
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalAccessToken))));
request.AddJsonBody(values);
IRestResponse response = client.Execute(request);