Я не могу создать рабочий элемент, используя Azure DevOps REST API, как указано в Рабочие элементы - создать
Запрос:
https://dev.azure.com/{organization}/MyTestProject/_apis/wit/workitems/$Task?api-version=6.0-preview.3 Request Body: [ { "op": "add", "path": "/fields/System.Title", "value": "Task2" } ]
Код для получения Ответ (Обратите внимание, что этот код работает для всех других запросов POST):
using (HttpResponseMessage response = client.SendAsync(requestMessage).Result) { response.EnsureSuccessStatusCode(); JsonResponse = await response.Content.ReadAsStringAsync(); } Response: 400
Может кто-нибудь предложить?
Может быть полезно увидеть ваш полный пример. Тем не менее, вот рабочий пример с Newtonsoft.Json (не забудьте на создать личный токен доступа ):
Newtonsoft.Json
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class Program { static void Main(string[] args) { string PAT = "<personal access token>"; //https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=preview-page string requestUrl = "https://dev.azure.com/<my_org>/<my_project>/_apis/wit/workitems/$Task?api-version=5.0"; try { List<Object> flds = new List<Object> { new { op = "add", path = "/fields/System.Title", value = "Title" } }; string json = JsonConvert.SerializeObject(flds); HttpClientHandler _httpclienthndlr = new HttpClientHandler(); using (HttpClient client = new HttpClient(_httpclienthndlr)) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String( System.Text.ASCIIEncoding.ASCII.GetBytes( string.Format("{0}:{1}", "", PAT)))); var request = new HttpRequestMessage(new HttpMethod("PATCH"), requestUrl) { Content = new StringContent(json, Encoding.UTF8, "application/json-patch+json") }; HttpResponseMessage responseMessage = client.SendAsync(request).Result; } } catch (Exception ex) { } } } }
Кроме того, вы можете рассмотреть возможность использования . NET клиентские библиотеки для Azure DevOps и TFS . Вот пример: Создание ошибки в Azure DevOps Services с использованием. NET клиентских библиотек
приложение / json -патч + json требуется.