2017-06-04 43 views
0

我正在尝试通过JavaScript更新一个带有新评论的jira。我可以整天用cURL来做这个,但是使用javascript更具挑战性。我能够为一个密钥的GET请求调用Jira API,所以我知道我的头文件/身份验证正在工作。问题是我的数据。我没有看到我在做什么错误的格式与评论的JSON字符串。这是我到目前为止:无法使用REST API将评论添加到Jira,并使用Javascript

$.ajax({ 
type: "PUT", 
url: "https://jira.domain.com/rest/api/2/issue/TEST-113", 
dataType: "json", 
headers: { "Authorization": "Basic " + userCredentials, "Content-Type": "application/json", 'X-Atlassian-Token': 'nocheck' }, 
data: "{\"update\":{\"comment\":[{\"add\":{\"body\": \"Test comment\"}}]}}", 
success: function (json) { 

    console.log(json) 

}, 
error: function (xhr, ajaxOptions, thrownError) { 
    console.log(xhr.status); 
    console.log(thrownError); 
    console.log(ajaxOptions); 
} 
}); 

我不断收到400不良请求。加上ajaxOptions只是返回“错误”,所以我没有任何迹象表明Jira为什么会抱怨。

感谢您的任何指导。

回答

0

的问题是propably在这一行:

data: "{\"update\":{\"comment... 

摆脱\,并更改为一个JavaScript对象: 数据:{ “更新”: “喇嘛喇嘛” ......

我想你只是复制了curl文本。

+0

感谢您的帮助!是的,这个\是从卷曲中遗留下来的,所以我摆脱了它们,但那仍然没有立即帮助我。我还发现了一种更简单的方式来使用POST和简单的JSON字符串来创建注释,只是'{“body”:“Comment”}''。那仍然给了我400错误。然后我记得我需要'JSON.stringify(commentData)'这样才最终被接受,并且我能够创建一个新的评论。再次感谢 – ACCFAN