Azure DevOps (VSTS / TFS) - Добавить обсуждение через OData / API - PullRequest
0 голосов
/ 21 февраля 2020

Я хочу добавить элемент обсуждения в WorkItem, используя Javascript. На основании MS-REST / API и приведенного там точного примера я попробовал следующее:

var lURL = "https://dev.azure.com/XXXX/XXXX/_apis/wit/workItems/1297985/comments?api-version=5.1-preview.3"; 
var jsonObj = [ { "text": "test discussion comments" } ];
$( document ).ready(function() 
{
      $.ajax({
         url: lURL,
             headers: {
                        'Authorization': 'Basic ' + btoa("" + ":" + MyVerySecretKey)
             },
             type: 'PATCH',
         contentType: 'application/json-patch+json', 
         data: JSON.stringify(jsonObj),
         cache: false,
         dataType: 'json',
    }).done(function(results) 
    {
        console.log("Saved to Azure DevOps!");
    }
    ); 
  });

Это, к сожалению, приводит к ошибке 405 (метод не разрешен) , Может ли кто-нибудь помочь мне двигаться вперед? Где я допустил ошибку?

спасибо, Joost

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

Я наконец нашел решение (также благодаря @Shamrai);

Я изменил var jsonObj = [{"text": "комментарии к обсуждению теста"}]; в var jsonObj = {"text": "комментарии к обсуждению теста"};

Изменен тип: 'PATCH', тип: 'POST',

И изменен contentType: 'application / json -patch + json ', для contentType:' application / json ',

все работает сейчас!

0 голосов
/ 21 февраля 2020

Это может быть тип вашего запроса. Вы используете type: 'PATCH'. Однако образец страницы содержит POST:

POST https://dev.azure.com/fabrikam/Fabrikam-Fiber-Git/_apis/wit/workItems/299/comments?api-version=5.1-preview.3

PATCH используется для обновления существующего комментария .

...