Redmine用のChromeアプリを作りました。

f:id:u-jiro:20131223145005p:plain

Redmineの時間計測機能を使って、チケット毎の作業時間を計測するためのChromeアプリを作った。

Chrome Web Store - Redmine Time Tracker

機能

  • タイマーを開始・終了してチケットの作業時間を記録する
  • 任意の時間を作業時間として記録する(タイマー忘れたとき用)
  • チケットをブラウザで開く

感想

秋ごろまで担当してたプロジェクトでチケット毎に作業時間を記録する必要があったのだけれど、 Excel管理が耐えられずに作った。それまでは他のタイムトラッキングツールを使っていたのだけれど、

  • 情報を一箇所に集約できる
  • ログとして残して後から活用できる

というのはやはり効率的。 あと、何分作業しているかを意識することで集中力が上がる気がする。

実装はAngularJSを使っていて、リスト表示や検索機能ではDOM操作をほとんどせずに実現できた。 データバインディングは一度使ってしまうと元に戻れないくらい便利。

TooltipやCollapseなんかのUIパーツは Angular directives for Twitter's Bootstrap を使っているのだけれど、Bootstrap 3への対応が微妙だったりして変なところでハマったりしました。 このへんもノウハウがたまってきたので、近いうちに公開したい。

ソースコード

ソースコードは以下に公開しています。CoffeeScript + Jade + Stylus という微妙(?)な構成ですが、 ご参考になれば幸いです。

ujiro99/RedmineTimeTracker · GitHub