मैं जावास्क्रिप्ट का उपयोग करके वर्कइटम में एक चर्चा आइटम जोड़ना चाहता हूं। 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 त्रुटि की ओर जाता है (विधि की अनुमति नहीं है)। क्या कोई मुझे आगे बढ़ने में मदद कर सकता है? मैंने कहाँ गलती की?

धन्यवाद, जोस्टो

0
JoostVanPoppel 21 फरवरी 2020, 14:25

2 जवाब

यह आपके अनुरोध का प्रकार हो सकता है। आप type: 'PATCH' का उपयोग कर रहे हैं। हालांकि, नमूना पृष्ठ में POST शामिल है:

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

PATCH का उपयोग किसी मौजूदा कमेंट को अपडेट करने के लिए किया जाता है।

0
Shamrai Aleksander 21 फरवरी 2020, 14:48

मुझे अंत में समाधान मिल गया (@Shamrai के लिए भी धन्यवाद);

मैंने var jsonObj = [{"text": "test चर्चा टिप्पणियाँ" } ]; var jsonObj = { "पाठ": "परीक्षण चर्चा टिप्पणियाँ"};

परिवर्तित प्रकार: 'पैच', टाइप करने के लिए: 'पोस्ट',

और बदली गई सामग्री टाइप: 'एप्लिकेशन/जेसन-पैच + जेसन', सामग्री के लिए टाइप करें: 'एप्लिकेशन/जेसन',

सभी अब काम कर रहे हैं!

0
JoostVanPoppel 22 फरवरी 2020, 22:13