0

我正在尝试通过 REST API 在 RT 中创建票证。该 wiki 提供了有关RT REST wiki如何使用的指南

说明是:

工单创建编辑要创建一个新工单:在 /REST/1.0/ticket/new 上发布一个名为“content”的变量,

逐行包含“键:值”,例如:

测试新的票务部分

id:票证/新队列:请求者:主题:抄送:<...> AdminCc:<...> 所有者:<...> 状态:<...> 优先级:<...> InitialPriority:<. ..> FinalPriority:<...> TimeEstimated:<...> 开始:<...> 到期:<...> 文本:CF-:如果有任何“特殊”字符(元音变音、破折号、. ..?) 在自定义字段的名称中,您仍然可以通过其 ID 访问它:

CF-$id:如果你想要一个多行文本,在每一行前加一个空格。

由于:<...> 文本:这是一个多行文本!!!CF-:响应应如下所示:

RT/4.0.6 200 好

工单 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 来完成这项工作。

谢谢

4

1 回答 1

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

缺少的是换行符。现在添加,工作正常。

于 2015-08-24T10:58:11.030 回答