適切な開始は、同様の呼び出しに curl を使用することです。
curl -D- -u user:password -X PUT --data @request.txt -H "Content-Type: application/json" http://jira-server:port/rest/api/2/issue/DEV-XXXXX
(ユーザー、パスワード、jira-server、およびポートを置き換えます)
ファイル request.txt には、json リクエストが含まれている必要があります。
{"fields":{"customfield_11530":"a0x40000000PHet"}}
私の場合はうまくいきましたが、jira-ruby gem は別のリクエストを作成しました: /rest/api/2/issue/22241 のようなパスを使用したため、本文メッセージで 400 Bad Request エラーが発生しました
"Field 'customfield_11530' cannot be set. It is not on the appropriate screen, or unknown."
宝石を修正するために、宝石のbase.rbでこれらの行を変更しました
417 if @attrs['self']
418 @attrs['self'].sub(@client.options[:site],'')
419 elsif key_value
420 self.class.singular_path(client, key_value.to_s, prefix)
これに:
417 if key_value
418 self.class.singular_path(client, key_value.to_s, prefix)
419 elsif @attrs['self']
420 @attrs['self'].sub(@client.options[:site],'')
(私のマシンでは "/usr/local/lib/ruby/gems/2.0.0/gems/jira-ruby-0.1.2/lib/jira" にあります)
それはトリックをしました。うまくいけば、それはあなたにも役立ちます。ここで、メンテナーの JIRA システムの問題の状態を確認できます: http://jira.sumoheavylabs.com/browse/JR-3。
コードでさらにエラー情報を取得したい場合は、次のようにします。
begin
issue.save!( updateHash )
rescue JIRA::HTTPError => e
puts e.response.code
puts e.response.message
puts e.response.body
end