加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用python-rtkit创建票证

发布时间:2020-12-20 13:06:13 所属栏目:Python 来源:网络整理
导读:我正在尝试使用 python-rtkit在RT中创建一个票证,它提供200 OK并返回实际上没有在RT中创建的空票证的信息,另外我尝试直接使用请求模块,并且同样的结果. 我的代码试图使用请求模块 post_data = """id: ticket/newQueue: myqueueSubject: Test Ticket creation
我正在尝试使用 python-rtkit在RT中创建一个票证,它提供200 OK并返回实际上没有在RT中创建的空票证的信息,另外我尝试直接使用请求模块,并且同样的结果.

我的代码试图使用请求模块

post_data = """
id: ticket/new
Queue: myqueue
Subject: Test Ticket creation in RT with Python
Text: Wow ticket is created :-D . 
"""
payload = {'content':post_data}
ticket_creation_reusult = requests.post("http://rt.domain.com/REST/1.0/ticket/new"+"user="+user+"&pass="+pas,payload)

我的代码试图使用请求python-rtkit,

content = {
    'content': {
        'Queue': 1,#'',2
        'Subject': 'New Ticket','Text': 'My uselessntext onnthree lines.',}
}
try:
    response = resource.post(path='ticket/new',payload=content)
    logger.info(response.parsed)
except RTResourceError as e:
    logger.error(e.response.status_int)
    logger.error(e.response.status)
    logger.error(e.response.parsed)

输出:

[DEBUG] POST ticket/new
[DEBUG] {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8','Accept': 'text/plain'}
[DEBUG] 'content=Queue: 1nText:My+useless%0A+text+on%0A+three+lines.nSubject: New Ticket'
[INFO] POST
[INFO] http://nocrt.domain.com/REST/1.0/ticket/new
[DEBUG] HTTP_STATUS: 200 OK
[DEBUG] 'RT/4.2.9 200 Oknn# Required: id,Queuennid: ticket/newnQueue:GeneralnRequestor: svc_nocrtnSubject: nCc:nAdminCc:nOwner: nStatus:newnPriority: 5nInitialPriority:5nFinalPriority: 1nTimeEstimated: 0nStarts: 2015-07-2014:20:07nDue: 2015-07-27 14:20:07nAttachment: nText: nn'
[DEBUG] RESOURCE_STATUS: 200 Ok
[INFO] [[('id','ticket/new'),('Queue','General'),('Requestor','svc_nocrt'),('Subject',''),('Cc',('AdminCc',('Owner',('Status','new'),('Priority','5'),('InitialPriority',('FinalPriority','1'),('TimeEstimated','0'),('Starts','2015-07-2014:20:07'),('Due','2015-07-27 14:20:07'),('Attachment',('Text','')]]
[INFO] [[('id','')]]

看起来它正在创造一张空票;但是在Web界面中没有显示任何内容,这些是python-rtkit的示例,另一个是我在here中找到的但是给出了相同的结果

解决方法

与您的期望相反,这实际上是一条错误消息.

正如您所看到的那样,here您将通过路径(第92-105行),当它找不到创建故障单的任何字段时,它实际上是默认的错误路径.如果你经过这下面的另一个分支(第128-184行),它实际上只会创建票证.

问题似乎是您的服务器实际上根本没有提取您的内容字段.您的rtkit客户端代码看起来像是直接来自rtkit docs,所以应该是正确的.因此,我必须猜测您的RTResource对象的构造有问题,或者在您的客户端和服务器之间过滤您的请求.

我怀疑它可能是使用多行文本.也许这些行未正确编码,因此您的服务器拒绝发布的数据?您可以尝试通过使其成为更简单的文本来证明这一点.

我也会查看你提交的请求版本,但我已经没时间了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读