🛠️
Redmine:開始日時・終了日時で時間管理する
Redmineで作業時間の管理をしようと思いましたが、何時間って入れるのが面倒くさい、という問題にぶつかりました。
やりたかったこと
こういう使い方がしたい!って最初に思ったのは以下のような流れです。
- チケットの作業開始時に、「時間を記録」ボタンでレコードを起票し、作業開始時刻を記録。
- 作業終了時(もしくは中断時)に再度そのレコードを開き、作業終了時刻を記録。
- 終了−開始で時間を計算して更新する。
- 中断したあと再開する場合は、再度「時間を記録」でレコードが起票される。
- なんだかんだ、最後に作業種別ごとの作業時間合計を確認できたりする。
実際の問題点
実際やろうとするといくつか問題がありました。
- 作業時間を0で記録することは「設定」で許可できるけども、作業時間を0で記録するとチケットに「作業時間」タブが現れないので、作業終了時にそこに打ち込めない。0.01時間とかダミーで打つ必要がある。
- 時間の計算が面倒くさい。
- そもそも初期の0時間(0.01時間)を打つのも面倒くさい。
- 開始・終了時刻はカスタムフィールドでいいんだけども、やはり時刻を打つのが面倒くさい。
要は面倒くさいのです。
プラグインを作って解決
このためプラグインをいくつか作りました。1個にまとめろという気もしますが…
実際の動作画面です。「時間を記録」を押したあとの表示。
「作業時間」の一覧表示。
プラグイン
3つに分かれています。
エラー処理もないので注意してください。
- 作業時間合計が0でも「作業時間」タブを表示するようにするプラグインZeroTimeTab
- 作業時間の記録画面の初期表示時に、時間に0を自動設定する(「開始日時」カスタムフィールドがあれば、そこに現在時刻を自動設定する)プラグインInitialZeroHour
- 作業時間の保存時に、カスタムフィールド「開始日時」「終了日時」から「時間」を自動計算するプラグインCalcTimeFromStartEnd
何かのお役に立てば。
(Redmineは5.0.xです)
Discussion