ある時点で機能していたが機能しなくなったコードがあります。これは、redmineの構成が何らかの形で関係していることを強く示唆しています(私はredmineの管理者ではありません)が、エラーメッセージがないため、何が問題なのかを判断するのが困難です。 。コードは次のとおりです。
#!/usr/bin/env ruby
require "rubygems"
gem "activeresource", "2.3.14"
require "active_resource"
class Issue < ActiveResource::Base
self.site = "https://redmine.mydomain.com/"
end
Issue.user = "myname"
Issue.password = "mypassword" # Don't hard-code real passwords :-)
issue = Issue.find 19342 # Created manually to avoid messing up real tickets.
field = issue.custom_fields.select { |x| x.name == "Release Number" }.first
issue.notes = "Testing at #{Time.now}"
issue.custom_field_values = { field.id => "Release-1.2.3" }
success = issue.save
puts "field.id: #{field.id}"
puts "success: #{success}"
puts "errors: #{issue.errors.full_messages}"
これを実行すると、出力は次のようになります。
field.id: 40
success: true
errors: []
これまでのところ、GUIに戻ってこのチケットを見ると、「メモ」の部分は正しく更新されていますが、カスタムフィールドは変更されていません。ActiveRecordコードにトレースを入れましたが、それが目的の更新を送信しているように見えるので、問題はサーバー側にあると思われます。
ところで、RESTAPIを使用してRubyからRedmineにアクセスする例の良いコレクションを知っているならそれも本当に役に立ちます。私は間違った場所を探しているだけかもしれませんが、私が見つけたのは、食欲をそそるのに十分ないくつかの些細なものだけであり、redmineサイトで見たドキュメントにはすべてがリストされていません利用可能なフィールド。(理想的には、例で使用するRedmineのバージョンも指定されていると便利です。)