インストールが正常に終わったら設定です。(GUIツールを使ったとしてもチケットのワークフローを設定するのはとても面倒)
ここでは基本的な使い方と設定例を説明していきます。
環境
- Windows XP SP3
- TracLightning 3.1.1(DLはこちら)
Trac をつかったチケット運用をはじめて軌道にのってきたらワークフローをカスタマイズして自分たちのプロジェクトにあわせたいと思う。設定例を示しながらTracWorkflowAdmin の使い方を説明します。
普通は、trac.ini に [ticket-workflow] セクションを作成し、[ticket-workflow] セクション内にサンプルを貼り付けておわり。
残念ながら、TracWorkflowAdmin にはGUIで trac.ini の {ticket-workflow} を編集できる機能がないので画像を示しながら設定例を解説します。当然、trac.ini の {ticket-workflow}セクションにコピーアンドペーストしても良いです。
※ワークフローがカスタマイズできるといっても、「new ではじまり close で終わる」は変わりません。
使い方
設定例1:TracWorkflowAdmin の初期化で提供されるワークフロー
標準的なワークフローです。流れとしては、新規作成(new) → 担当割り当て(assigned) → 解決(closed) となります。新規作成(new) → 担当する(accepted) → 解決(closed) という流れもあり、こちらはチケットを自分で選んで処理する場合のフローです。
[ticket-workflow]
accept = new,assigned,accepted,reopened -> accepted
accept.default = 999
accept.name = 担当する
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
leave = new,assigned,accepted,reopened,closed -> *
leave.default = 1000
leave.name = 変更しない
leave.operations = leave_status
reassign = new,assigned,accepted,reopened -> assigned
reassign.default = 998
reassign.name = 担当を変える
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = closed -> reopened
reopen.default = 997
reopen.name = 再オープンする
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = new,assigned,accepted,reopened -> closed
resolve.default = 996
resolve.name = 解決にする
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY
設定例2:最もシンプルなワークフロー
最もシンプルなフローです。新規作成(new) → 解決(closed) 。一人で利用している場合やワークフロー機能を使わない場合など、チケットを備忘録やタスクとしてシンプルに利用するときに良いかもしれません。
[ticket-workflow]
leave = new,closed,reopened -> *
leave.default = 1000
leave.name = 変更しない
leave.operations = leave_status
reopen = closed -> reopened
reopen.default = 999
reopen.name = 差し戻す
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = new,reopened -> closed
resolve.default = 998
resolve.name = 解決にする
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY
設定例3:「確認待ち」ステータスを追加したワークフロー
フローダイアグラムは少し複雑になります。
チケットの作業が完了したとき、「確認待ち」というステータスが必要な場合があります。バグ管理の場合、開発者が対応済みと思っても、解決していないことや認識違いが多々あります。そこで、「完了」の前に必ず別の担当者による「確認」を入れることでバグが修正されたことをチェックしたり、再現しないことを確認したあとで「完了」にするためのワークフローです。
このワークフローでは完了にするためには必ず「解決・確認を依頼する」を経由しなければいけません。場合によっては直接完了できるフローを追加しても良いかもしれません。
[ticket-workflow]
leave = new,assigned,accepted,reopened,closed,resolved -> *
leave.name = 変更しない。
leave.default = 1
leave.operations = leave_status
accept = new,assigned,accepted,reopened -> accepted
accept.name = 着手する。
accept.default = 0
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
reassign = new,assigned,accepted,reopened -> assigned
reassign.name = 担当者変更
reassign.default = 0
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reject = resolved -> assigned
reject.name = 差し戻す。
reject.default = 0
reopen = closed,resolved -> reopened
reopen.name = 再オープンする。
reopen.default = 0
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = new,assigned,accepted,reopened -> resolved
resolve.name = 解決、確認を依頼する。
resolve.default = 0
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY
verify = resolved -> closed
verify.name = 完了を承認する。
verify.default = 0
verify.operations = set_resolution
参考資料
操作(operations)の説明
- del_owner — チケットの所有者を削除します。
- set_owner — チケットの所有者を選択された所有者か入力された所有者に設定します。
- actionname.set_owner カンマ区切りのリストか1つの値を設定することができます。
- set_owner_to_self — チケットの所有者をログインユーザに設定します。
- del_resolution — チケットの解決方法を削除します。
- set_resolution — チケットの解決方法を選択された解決方法か入力された解決方法に設定します。
trac の wiki/TracWorkflowから引用