Redmineの作業時間、予定工数をSQLで抽出
2017/02/20
プラグインとかでやればいいのかもなのですが、可視化はダッシュボードツールとかBIとかに任せた方が楽なのではと思い、Redmineから予定工数とか、実作業時間とか必要なデータを抽出してみました。
この抽出結果をre:dashとか使って可視化すればいいかと思います。
データベースはMySQLです。
月間プロジェクト別予定工数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
SELECT date_format(a.due_date,'%Y年%m月') AS yearmonth, b.name, SUM(a.estimated_hours) AS hours FROM redminedb.issues a INNER JOIN redminedb.projects b ON a.project_id=b.id INNER JOIN redminedb.users c ON a.assigned_to_id=c.id AND c.id IN () WHERE CAST(date_format(a.due_date,'%Y%m') AS signed) >= 201604 AND CAST(date_format(a.due_date,'%Y%m') AS signed) <= 201703 GROUP BY yearmonth, b.name |
予定工数はissuesテーブルのestimated_hoursです。
担当者(assigned_to_id)で絞っています。
期日(due_date)ベースですのでチケットの粒度は細かめにして月をまたぐようなチケットがないようにしないとあまり意味がありません。
これを予定ですでに限界を迎えている月がないかを見るための可視化の元データとします。
月間プロジェクト別消化予定工数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
SELECT date_format(a.due_date,'%Y年%m月') AS yearmonth, b.name, SUM(a.estimated_hours) AS hours FROM redminedb.issues a INNER JOIN redminedb.projects b ON a.project_id=b.id INNER JOIN redminedb.users c ON a.assigned_to_id=c.id AND c.id IN () WHERE CAST(date_format(a.due_date,'%Y%m') AS signed) >= 201604 AND CAST(date_format(a.due_date,'%Y%m') AS signed) <= 201703 AND a.status_id = 5 GROUP BY yearmonth, b.name |
status_id=5 で完了チケットのみに絞ります。
これを予定に対しての進捗度合いを測るための可視化の元データとします。
見込みのボリュームのまま、消化度合いを測るために使います。
月間プロジェクト別作業実績
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
SELECT CONCAT(CAST(a.tyear as char),'年',LPAD(CAST(a.tmonth as char),2,'0'),'月') AS yearmonth, b.name, SUM(a.hours) AS hours FROM redminedb.time_entries a INNER JOIN redminedb.projects b ON a.project_id=b.id INNER JOIN redminedb.users c ON a.user_id=c.id AND c.id IN () WHERE CAST(CONCAT(CAST(a.tyear as char),LPAD(CAST(a.tmonth as char),2,'0')) AS signed) >= 201604 AND CAST(CONCAT(CAST(a.tyear as char),LPAD(CAST(a.tmonth as char),2,'0')) AS signed) <= 201703 GROUP BY yearmonth, b.name |
作業時間はtime_entriesテーブルのhoursです。
これを工数見積に対して実際どうであったかの予実の指標として使います。
他はtime_entriesの作業種類を使って週や月で何の作業(開発、運用、打ち合わせなど)に時間をかけているのかとか、生産性を高めるために振り返るワークログとして使えればと思っています。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Redmine起動時にPassengerで「Could not spawn process for application」エラー
AWSで起動しているRedmineのEC2をt2.microからt2.small …
-
-
Redmine 3.0.0 にLocal Avatar プラグインをインストールしてユーザーがアバターを簡単に変更出来るようにする
Redmineのアバターは標準でGravater採用なのですが、エンドユーザーに …
-
-
Redmine 3.4にAgile Plugin をインストール
過去にも似たような記事を書いていますが、新しいバージョンのRedmine 3.4 …
-
-
Redmine Agileプラグインをバージョンアップインストールする
Redmine 3.0.0でRedmineCRMのAgileプラグインをインスト …
-
-
Redmine 3.0.0 のメールサーバーでGoogleApps SMTPサーバーを利用する
Redmineのメール通知サーバーとしてGoogleAppsを使用する方法です。 …
-
-
CentOS 6.5にRedmineをインストールするためにrubyをインストールする
とりあえずgitは入っている前提で [bash] # cd /opt # git …
-
-
redmine_omniauth_googleプラグインをRedmine3.0.0で動くようにする
redmine_omniauth_googleプラグインをインストールしたところ …
-
-
「第14回RxTStudy(Redmine勉強会)」に行ってきました
土曜日の真っ昼間に半分以上が初参加者さんで80席が満席。 それだけRedmine …
-
-
Redmine REST APIを操作するpython_redmineを試してみた
Redmine のGUIの登録が面倒なのでコマンドで登録、更新、時間の記録が出来 …
-
-
Redmine プラグイン開発チュートリアルをやってみる
Redmine 3.0環境でプラグインを作成するチュートリアルをやってみました。 …