Redmine APIを使ってみた
こんにちは、松山本社のODAです。
今やプロジェクト管理のデファクトスタンダードと言えるRedmineですが、ブラウザを経由してチケットの管理や更新など、管理作業に煩わしさを感じている方も多いと思います。
Redmine APIを用いることで、Redmineで管理されている様々な情報を、外部アプリケーションからもアクセスすることが可能となり、様々な要望を実現することも出来るかもしれません。
今回は、そんな便利なRedmine APIについて、簡単に使い方を紹介してみたいと思います。
1.Redmine APIを有効にするための準備
まずは、Redmineが外部アクセスを受け入れられるように設定をする必要があります。
画面上部の「管理」をクリックして、表示された管理画面の「設定」メニューを選択します。
続いて、「API」タブの中にある「RESTによるWebサービスを有効にする」のチェックをONにします。
2.Redmineに接続するための認証情報である「APIアクセスキー」を発行する
画面上部の「個人設定」をクリックし、表示された個人設定の中にある「APIアクセスキー」の表示をクリックすることで、現在ログインしているアカウントに対するAPIアクセスキーが取得できます。
表示されたAPIアクセスキーをメモしておきましょう。
3.Redmine APIで情報を取得してみましょう
例えば、Redmine内で管理されている「プロジェクト」の情報が欲しい場合は、以下のURLでアクセスします。
http://Redmineのアドレス/projects.xml?key=表示されたAPIアクセスキー
同様に、「ユーザ」の情報が欲しい場合は、以下のURLでアクセスします。
http://Redmineのアドレス/users.xml?key=表示されたAPIアクセスキー
このように、Redmineのアドレスに続けて、「使いたい機能に対応するURL」を加えるだけで情報を取り出すことが出来ます。
4.そのほかの情報へのアクセスについて
「プロジェクト」や「ユーザ」の他にも、URL部分を変更するだけで、色々な情報にアクセスすることが出来ます。
また、パラメータを追加することで、情報を絞り込むことも出来るようなっています。
情報 | URL | パラメータ |
チケット | issues.xml | issue_id,project_idなど |
プロジェクト | projects.xml | trackers,issue_categoriesなど |
ユーザ | users.xml | name,group_idなど |
作業時間 | time_entries.xml | user_id,project_idなど |
トラッカー | trackers | |
バージョン | projects/プロジェクトのID/versions.xml | status,sharingなど |
他にも沢山の情報にアクセスすることが出来ます。
詳しくは公式サイトを参照してみてください。
5.取得できる情報(XML)についての注意点
Redmine APIでは、パラメータに何も指定をしなかった場合は、一度のアクセスでは最大25件までしか情報を返却しません。
沢山の情報の取得が必要な場合、パラメータ「limit」や「page」を指定して取得開始位置を変更しながら何度もアクセスする必要があるので注意が必要です。
例えば、次のようなURLでアクセスすれば、1ページ100件として3ページ目、つまり201~300件目までの100件を取得することが出来ます。
http://Redmineのアドレス/projects.xml?key=表示されたAPIアクセスキー&limit=100&page=3
6.最後に
Redmine APIを効果的に用いることで、作業工数の分析や、チケット情報の一括更新など、独自の機能を作成することが可能になるかもしれません。
まずはAPIの使い方から触れてみて、返却されるXMLの構造などをじっくり見ることから始めてみると良いのではないでしょうか。