Я создаю интеграцию с Jira в Excel, используя VBA.
Я могу безопасно входить в систему (используя POST
) и получать проблемы Jira (используя GET
), используя API Jira.
Теперь я пытаюсь обновить проблемы, и HTTP-глагол Jira's API - GET
.Это не должно быть проблемой, но дело в том, что я даже не могу сделать запрос.
Вот мой текущий код - он основан на коде POST
, но я не уверен, что я 'я пропускаю некоторые другие параметры.
Я опускаю некоторые объявления переменных - это не проблема!
Public JiraService As New MSXML2.XMLHTTP60
JiraDataUrl = "https://atlassian.XXXXXXXX.com/jira/rest/api/2/issue/" & JiraId
body = "{""fields"" : {""customfield_13800"":""2011-10-03""}}"
Call JiraLogin(user, pass) 'This calls another Sub that log into Jira
JiraService.Open "PUT", JiraDataUrl, False
JiraService.setRequestHeader "Content-Type", "application/json"
JiraService.setRequestHeader "Accept", "application/json"
JiraService.setRequestHeader "X-Atlassian-Token:", "nocheck"
JiraService.send body
jsonText = JiraService.responseText
sStatus = JiraService.Status
Когда я запускаю скрипт, он прерываетсяExcel со следующими сообщениями:
Я нажимаю Debug
, и часть JiraService.send body
отмечена на коде
Если я нажимаю на игру, я получаю последнюю ошибку (This method cannot be called after the send method has been called
), которая не имеет никакого смысла для меня:
Если я заменил PUT
на POST
, он работает нормально, но Jira API возвращает ошибку HTTP 405 - поскольку метод, который я пытаюсь использовать, требует PUT.
Есть идеи, что я делаю не так в этом коде?