使用rt-client ruby​​gem的凭据问题(请求跟踪器票证系统的rest接口)

时间:2013-05-13 21:07:08

标签: ruby rest rt

我在使用rt-client gem(link)时遇到问题,因为它一直返回“需要RT / 4.0.8 401凭据”。这个站点的REST接口正在运行,因为我有一些目前以类似方式使用它的perl脚本。

test.rb

#!/usr/bin/env ruby

require 'rt/client'

rt = RT_Client.new
id = rt.create( :Queue => "General",
                :Subject => "Test",
                :Requestor => "test@example.org",                                                                                                                                                                                                                               
                :Text => "Ignore me" 
              )   

.rtclientrc

server=http://example.org/
user=exampleuser
pass=examplepass
cookies=tmp

版本

Gem Version: rt-client-0.5.0
RT Version: 4.0.8
Ruby Version: 1.9.3p327

输出

Payload for new ticket:
------xYzZY492386xYzZY
Content-Disposition: form-data; name="content";

Queue: General
Subject: Test
Requestor: test@example.org
Text: Ignore me
id: ticket/new
------xYzZY492386xYzZY--
"RT/4.0.8 401 Credentials required\n"

我在test.rb底部执行“put id.inspect”时看到错误,因为没有创建故障单。

这可能是处理cookie的问题吗?如果可能的话,我试图避免在Net :: HTTP中编写自定义解决方案,但如果这仍然是一个麻烦,我会走那条路。

1 个答案:

答案 0 :(得分:0)

这里的rt-client ruby​​ gem的作者。

这是前段时间解决的,我知道这已经过时了,但它在Google搜索宝石时排名很高。如果有人发现这个问题仍然存在rt-client的问题,那么gem现在在github.com上。如果您愿意,请克隆它,进行修复并向我发送拉取请求。

https://github.com/uidzip/rt-client