AccessでMySQLのデータを集計する実例を示したいと思い、Redmine公式サイトのチケットを取得することにしました。
ココにある全チケットです!
CSVエクスポートを試す
公式サイトのRedmineプロジェクトには、完了チケットを含めると約15,200のチケットがあります。
CSVファイルで取得しようと思い試したところ、エクスポートの上限が1回50チケット。
15,200チケットをエクスポートするには300回ほどかかる計算です(汗)
WEBからXMLで取得
これはさすがに辛いので、WEBからXMLで取得することにしました。
「500件ずつ取得できないかな?」と考え、ダメモトでWEBブラウザのURLに、次のように入力しました。
http://www.redmine.org/issues.xml?offset=0&limit=500&status_id=*&sort=id
デフォルトでは未完了チケットだけが対象になりますが、「status_id=*」を指定して、完了したチケットも取得するようにしました。
また、デフォルトではチケット番号の降順になりますが、取得途中にチケットが追加されるとオフセットの位置がズレてしまいます。これを回避するため、「sort=id」でチケット番号の昇順に並べ替えて取得するようにしました。
「Limit=”500″」にしましたが、実際には「Limit=”100″」で結果が返ってきました。
上限が100チケットで設定されているようです。
100件単位で出力して150回ほど。。。今回は次のような感じで「offset」の値を変えながら、コツコツ手作業で取得することにしました。
●1回目
http://www.redmine.org/issues.xml?offset=0&limit=100&status_id=*&sort=id
●2回目
http://www.redmine.org/issues.xml?offset=100&limit=100&status_id=*&sort=id
一時間ほどかかりましたが、公式サイトのチケット全件を取得できました。
XMLファイルは、150個ほどになりました。
次の記事では「複数のXMLファイルをExcelで一つのシートにまとめる」方法を紹介しています。参考になれば幸いです。
最後までご覧いただきありがとうございます。
では、また。