「RT/4.0.8 401 Credentials Required」を返し続けるため、rt-client gem( link ) の使用に問題があります。このサイトの 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 の下部で「puts id.inspect」を実行すると、チケットが作成されないため、エラーが表示されます。
これはおそらく Cookie の処理に問題があるのでしょうか? 可能であれば、Net::HTTP でカスタム ソリューションを作成することは避けようとしていましたが、これが引き続き面倒な場合は、そのルートに進みます。