フューチャー技術ブログ

マネージャーがうれしいRedmineデータのグラフ表示方法を公開します!!(Metabase編)

はじめに

こんにちは。近藤です。
みなさん、Redmineを使っていますか?
私は使っています。Redmineはタスクをチケット管理する上で便利ですよね。

一方で、Redmineにはデータの可視化機能が標準で搭載されていないという課題があります。
例えばこれが、標準のサマリ画面。グラフがないから傾向とか分かりづらいんですよね。

参考:http://www.redmine.org/projects/redmine/issues/report

これを何とかしようと、以前の投稿では、Kibana+Timelionを使ってRedmineデータをグラフ表示する方法を紹介しました。

ただ、Kibanaを利用する場合、一度Elasticsearchにデータを登録しないといけないので、手間なのですよね。。

そこで、本日はOSSのBIツールであるMetabaseを利用して、Redmineのデータをグラフ表示する方法を紹介します。

例えば、Metabaseを利用すると、チケットの発生件数とクローズ件数の推移を簡単に表示できます。

構築する環境は下記の通り。Kibana+Timelionで構築した環境よりもシンプルですね。

では実際にやってみましょう。

なお、下記を前提としています。

  • Windows環境で構築
  • Redmineのデータベース(MySQL)に直接接続する

大まかな流れ

下記の手順でグラフを表示します。

  1. Javaのインストール
  2. Metabaseのインストール
  3. グラフ表示

1.Javaのインストール

まず、MetabaseではJavaを利用するため、事前にインストールします。

お使いの環境にあったインストーラをご利用ください。
なお、私の場合は、下記のインストーラを利用しました。

◆Java SE DevelopmentダウンロードURL
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk-8u211-windows-x64.exe

2. Metabaseのインストール

次に、Metabaseをダウンロードします。

◆MetabaseダウンロードURL
https://metabase.com/start/jar.html
→「Download Metabase.jar」をクリックします。すると「metabase.jar」がダウンロードされます。

そして、「c:\metabase」というフォルダを作成し、ダウンロードしたファイルを配置します。

最終的には下記のようなフォルダ構成になります。

c:\metabase
└ metabase.jar

3. グラフ表示

さあ、グラフ表示するにあたり、まずは、Metabaseを起動します。

コマンドプロンプトで c:\metabase へ移動し、java -jar metabase.jar を実行します。

しばらくすると、下記のようにMetabase Initialization COMPLETEと表示されます。

これでMetabaseが起動しました。
ブラウザで http://localhost:3000 を開きます。

すると下記のような画面が表示されます。

「開始しましょう」をクリックします。
すると下記のような画面が表示されます。

姓名、メールアドレス、パスワード、組織名を入力します。

そして、「次へ」をクリック。
すると、下記のような画面が表示されます。

「使用するデータベースのタイプを選択する」から、データベースタイプを選択。
私の場合は、「MySQL」を選択しました。
すると、下記のように表示されるので、

データベースの種類、名前、ホスト、ポート、データベース名、ユーザ名、パスワードを入力。
私の場合は、名前を「redmine」にしました。

そして、「次へ」をクリックします。
すると、下記のような画面が表示されます。

「次へ」をクリックしましょう。
すると、下記のような画面が表示されます。

右上の「照会する」をクリックします。

「ネイティブクエリ」をクリック。

「データベースを選択する」から、先ほど入力したデータベースを選択しましょう。
(私の場合は、「redmine」)。

次に、チケットの発生件数とクローズ件数を取得する下記のSQLを水色のエリアに貼り付けます。

select
is1.created_on ymd
, 'open' kbn
, sum(is2.id_count) id_count
from
(
select
date_format(created_on, '%Y-%m-%d') as created_on
, count(id) id_count
from
issues
group by
date_format(created_on, '%Y-%m-%d')
) is1
, (
select
date_format(created_on, '%Y-%m-%d') as created_on
, count(id) id_count
from
issues
group by
date_format(created_on, '%Y-%m-%d')
) is2
WHERE
is2.created_on <= is1.created_on
group by
is1.created_on
union all
select
is1.closed_on
, 'close'
, sum(is2.id_count) id_count
from
(
select
date_format(closed_on, '%Y-%m-%d') as closed_on
, count(id) id_count
from
issues
group by
date_format(closed_on, '%Y-%m-%d')
) is1
, (
select
date_format(closed_on, '%Y-%m-%d') as closed_on
, count(id) id_count
from
issues
group by
date_format(closed_on, '%Y-%m-%d')
) is2
WHERE
is2.closed_on <= is1.closed_on
group by
is1.closed_on

貼り付けました。

そして、「回答を得る」をクリックすると、

結果が表示されます。
更に、左下の「テーブル」をクリックして、

「線」をクリックすると、

出ましたね。
チケットの発生件数とクローズ件数の推移が表示されています。

右上の「エディターを非表示にする」をクリックすると

グラフが大きくなりましたね。
グラフの線にカーソルを当てると、

値が表示されますし、右側の「↓」をクリックすると、

データのダウンロードも可能です。
便利ですね。

最後に

今回は、チケットの発生件数とクローズ件数の推移をグラフで表示しました。
それ以外のグラフを簡単に追加することも可能です。
詳しくは下記のMetabaseユーザーガイドをご参照ください。

◆Metabaseユーザーガイド
https://metabase.com/docs/latest/users-guide/start.html

いかがでしたでしょうか? RedmineをMetabaseと組み合わせることで、グラフ表示が可能になり、結果的にプロジェクト状況の把握が容易になります。

本記事が、皆様のプロジェクトマネジメントに役に立てば幸いです。

なお、今後私がブログを執筆する際は、EVM表示やメール配信、ダッシュボードの構築に関する方法を記載していく予定。

これらの記事が、みなさまにとって参考になりそうでしたら「いいね!」をクリックして頂けますと幸いです。執筆の励みになります。😃

今後ともよろしくお願い致します。

シリーズとして連載しています。こちらもぜひどうぞ。