先日、Redmine APIからauth_source_idを叩こうとした件については、そのようなAPIを提供するPluginの実装に成功しました。
githubあたりに上げて公開できないか検討してみます。
が、Membership.find(1) などを叩くとを見に行っているので、routeとしてmembershipは存在するように思います。
/opt/redmine/app/views/members/index.api.rsbはhttp://projects/<project name>/memberships.xml
を提供しているのかな?
「redmine membership.find」でググって見つけたコードを参考に
require 'rubygems'
require 'active_resource'
class Membership < ActiveResource::Base
self.site = 'http://redmine/projects/:project_id'
self.user = ...
self.password = ...
self.format = :xml
end
mss = Membership.find(:all, :params => {:project_id => <プロジェクト識別子>})
mss.each {|m| p m.user}
でやってみたらプロジェクトのメンバが取れました。
(これが定番の書き方かどうか知りません)
このMembershipクラスを使ってAPIを叩くと、API仕様書から考えるとgetとpostはできてもdeleteができない可能性がありそうです。
--
このメールは Google グループのグループ「Redmine Users (japanese)」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、redmine-users-...@googlegroups.com にメールを送信します。
このグループに投稿するには、redmine-...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/redmine-users-ja?hl=ja からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
こんな方法で、ActiveResource::Baseを継承するクラスの名前を変えざるを得ない場合にも対応できるのですねぇ。これを使えば、self.site2種類に対応するMembershipクラス2種類を作れることがわかりました。
--
このメールは Google グループのグループ「Redmine Users (japanese)」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、redmine-users-...@googlegroups.com にメールを送信します。
このグループに投稿するには、redmine-...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/redmine-users-ja?hl=ja からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。