请求跟踪器(RT)REST API HTTP POST

时间:2015-08-21 09:32:18

标签: vba rest request tracker rt

我试图通过REST API在RT中创建一个票证。维基提供了有关RT REST wiki

的指导

说明如下:

  

故障单创建编辑创建新故障单:发布   /REST/1.0/ticket/new,其变量名为" content",

     

包含"键:值"逐行,例如:

     

测试新的故障单部分

     

id:ticket / new Queue:Requestor:Subject:Cc:< ...> AdminCc:< ...>所有者:< ...>   状态:< ...>优先级:< ...> InitialPriority:< ...> FinalPriority:   < ...>时间估计:< ...>开始:< ...>到期日:< ...>文字:CF-:如果有的话   "特别"自定义字段名称中的字符(变音符号,短划线,...?),   你仍然可以通过它的ID访问它:

     

CF- $ id:如果你想要一个多行文字,每个前缀   一行空白。

     

到期日:< ...>文字:这是一个多行文字!!!   CF-:响应应该看起来   像:

     

RT / 4.0.6 200确定

     

创建了Ticket 775。

我正在使用VBA,我可以使用我的代码在正确的队列中创建一个票证,但它不接受我在请求中包含的任何其他字段。

 Public Sub TestRT()

Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "https://[RT IP]/REST/1.0/ticket/new?user=root&pass=password"
objHTTP.Open "POST", URL, False
objHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.SetRequestHeader "Content-type", "application/x-www-form-urlencoded"
RTContent = "Queue: Incidents&"
objHTTP.Send ("content=" & RTContent)
MsgBox objHTTP.ResponseText
End Sub

这适用于&在事件结束时。我已经尝试了很多RTContent变量的变体,但似乎无法让它发挥作用。如果我尝试RTContent = "Queue: Incidents&Subject: Test"故障单已创建,但没有主题。

我已经看过谷歌,虽然有些人已经提出了使用VBA的问题,但我发现的回复指向只使用另一种语言。不幸的是,如果可能的话,我需要通过VBA实现这一点。

由于

1 个答案:

答案 0 :(得分:0)

RTContent = "Queue: Incidents" & vbLf & "Subject: New item2"

缺少了换行。现在添加,工作正常。