我试图通过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实现这一点。
由于
答案 0 :(得分:0)
RTContent = "Queue: Incidents" & vbLf & "Subject: New item2"
缺少了换行。现在添加,工作正常。