【问题标题】:Azure DevOps (VSTS / TFS) - Add discussion through OData/APIAzure DevOps (VSTS / TFS) - 通过 OData/API 添加讨论
【发布时间】:2020-02-21 11:25:46
【问题描述】:

我想使用 Javascript 将讨论项添加到 WorkItem。 基于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 错误(不允许使用方法)。 任何人都可以帮助我前进吗?我哪里做错了?

谢谢, 约斯特

【问题讨论】:

    标签: azure tfs azure-devops odata devops


    【解决方案1】:

    这可以是您的请求类型。您正在使用type: 'PATCH'。但是,示例页面包含 POST:

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

    PATCH 用于更新现有评论。

    【讨论】:

      【解决方案2】:

      我终于找到了解决方案(也感谢@Shamrai);

      我变了 var jsonObj = [ { "text": "测试讨论 cmets" } ]; 到 var jsonObj = { "text": "测试讨论 cmets" };

      改变了 类型:“补丁”, 到 类型:'POST',

      并且改变了 contentType: '应用程序/json-patch+json', 到 contentType: '应用程序/json',

      现在一切正常!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-05
        • 2018-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-13
        • 1970-01-01
        • 2021-08-24
        相关资源
        最近更新 更多