夜間バッチで集計しよう!|WBSガントチャート for JIRA(進捗管理ツール)

Author

網野 勉Tsutomu Amino

網野 勉

それでは、本日リリースされた7.13.0のもうひとつの目玉機能、スケジュールジョブについてご紹介します。

集計して欲しいけど…

例えば下記のようなWBSがあるとします。
「5.テスト」の時間管理系フィールドは子チケットのフィールド値の合計になっているのが望ましいです。
JIRAの時間管理でも合計値を計算する機能がありますが、対象となるのはサブタスクのみなので、このように子チケットがサブタスクでない場合は有効になりません。
ですので、現状ではいちいち計算して手で入力しないといけないです。
これは面倒ですし、ミスが発生する原因にもなりかねません。

1288-j03

夜間バッチを動かしてみよう!

では冒頭に示したような時間管理を夜間バッチで集計してみましょう。

1.集計フィールドを追加

まず、集計結果を格納するフィールドを作成します。
スケジュールジョブで集計した結果を格納できるのは、下記カスタムフィールドです。

  • テキスト フィールド (1行)
  • テキスト フィールド (複数行)
  • 数値フィールド

今回は「初期見積」、「消費時間」、「残余見積」の3フィールドを集計するので、「∑初期見積」、「∑消費時間」、「∑残余見積」という数値フィールドのカスタムフィールドを追加します。

1288-j06

2.ジョブを追加

続いて、ジョブを追加します。
ジョブとは一連の集計処理をまとめたものです。

管理画面のWBSガントチャートのスケジュールセクションを選択し、「テンプレート」メニューから「時間管理の集計」を選択します。
ジョブ一覧に「時間管理の集計」ジョブが追加されました。
「+追加」ボタンを使ってジョブを一から作成することも可能ですが、集計処理をプログラミングしたり、各種設定をしたりと面倒なことが多いので、テンプレートを利用するのが便利です。

1288-j02

ジョブには集計対象となるチケットの抽出条件や実行ユーザー、実行間隔を設定します。
「時間管理の集計」ジョブの「編集」リンクをクリックして、各項目を修正します。

ここでポイントなのが、「スリープ」です。
大量のチケットに対して連続で集計処理を行うと、JIRAのリソースを使い果たしてしまい、パフォーマンスを劣化させる可能性があります。
そこで、一定数(50件)集計処理を行うたびに、「スリープ」で指定した期間処理を中断します。
目安としては集計処理の実行時間と同じ時間を設定します。

1288-j07

3.タスクを修正

ジョブの後はタスクを設定します。
タスクは指定フィールドに対する集計処理を定義したものです。
今回はテンプレートからタスクを作成したので、集計結果を格納するフィールドだけ設定します。

「時間管理の集計」ジョブの「表示」リンクをクリックして、ジョブの内容とぶら下がっているタスクの一覧を表示します。
続いて「タスクの設定」にある3つのタスクのうち、「初期見積の集計」にある「編集」リンクをクリックします。
タスクの修正ができるようになったので、「フィールド」のドロップダウンから「∑初期見積」を選択して「更新」します。
同じように「消費時間」と「残余見積」も作成したカスタムフィールドを設定します。

1288-j08

4.有効化

ジョブやタスクは有効にしないと実行されません。

タスクを有効にするには「タスクの設定」にある「有効」リンクをクリックするだけです。
3つあるタスクを全て有効化しましょう。

1288-j09

ジョブも同様に「ジョブの設定」にある「有効」リンクをクリックします。
ジョブが有効になると、いよいよ設定に従って集計処理が行われます。

1288-j10

では、実際に実行された結果を見てみましょう。

実行結果はジョブに表示されます。
最後に実行された時間や成否が確認できます。

1288-j04

WBSガントチャートで見ると集計結果がWBSに反映されていますね。

1288-j05

今回ご紹介はしませんでしたが、ジョブやタスクはお客さま自身で作成することができます。
上記の「時間管理の集計」を参考に自作してみてください。
また、今後もテンプレートを追加していきますので、ご期待ください。

それでは、ごきげんよう!