LoginSignup
9
10

More than 5 years have passed since last update.

APIアクセスキーを用いて、Ruby/RailsからRedmineのREST APIにアクセスする

Last updated at Posted at 2015-02-03

Redmine本家にRubyからアクセスするサンプルはあったのですが、APIアクセスキーを用いてアクセスする方法がわからなかったのでちょっと調べてみました。簡単にいうと、リクエストヘッダにのせればいいようです(最初、self.api_keyみたいなのあるのかなと思いましたが違いました)。

Authenticationの詳細は、以下のURLに掲載されています。今回は、

passed in as a "X-Redmine-API-Key" HTTP header (added in Redmine 1.1.0)

の方法を採用しています。

以下は、本家と同様、Redmineのリソース Issuesに対応したIssueモデルを作成する例です。以下のように設定しておけば、Railsおなじみの操作でCRUD処理ができるようになります。

issue.rb
require 'active_resource'

class Issue < ActiveResource::Base
  headers["X-Redmine-API-Key"] = 'your_api_key'
  self.site = 'https://redmine.yourdomain/'
end

以下はIssuesを全取得する例です。

Issue.find(:all)

参考と雑感

試してはないけど、以下のようなGemもあるようです。

REST Web APIとの連携システムをRuby/Railsで構築する際は、AcriveResouceを使っていきたいですね(APIを作成する側からしてもRESTの原則を意識して設計する必要があるので、お互いに良いと思います)。

そもそもの話では、ActiveResourceってRails4~は取り除かれたっぽいですが、これは流行ってないからなのでしょうか?Rest APIをラップするモダンな方法が何なのか気になります。

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10