使用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对象的构造有问题,或者在您的客户端和服务器之间过滤您的请求. 我怀疑它可能是使用多行文本.也许这些行未正确编码,因此您的服务器拒绝发布的数据?您可以尝试通过使其成为更简单的文本来证明这一点. 我也会查看你提交的请求版本,但我已经没时间了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |