« TracのExcel等の外部ツールから扱う前に練習 | トップページ | MS-Accessを使いExcelなどから一気にチケット登録-準備。(SQLiteの場合) »

2008年10月23日 (木)

Trac運用例 チケットのクローズには権限が必要としたい(Trac0.10の場合)

よく言われることですが,チケットのクローズはリーダだけしかできないようにしたいとかってありますよね.こういう場合はルールと確認する仕組みで対応します.

1. クローズの前の「完了」と言う状態を定義します.

一番簡単にできることだと,complete(進捗率)が100とかとすると,カスタムフィールドのcompleteはTracLightningならあらかじめ登録されているのでらくです.私のプロジェクトでは完了日と言う項目を作ってそこに日付が入っていたらとしています.

2. リーダが完了を検索しやすいようにレポートを追加

レポートにstatusがクローズ以外でcompleteが100のものの一覧を追加する.リーダはそのレポートを見て日々クローズしていけばいいのです.

SELECT *
  FROM ticket t
  LEFT JOIN ticket_custom d ON d.ticket = t.id AND d.name = 'complete'
  WHERE status IN ('new', 'assigned', 'reopened') and d.value = '100'

3. ルール違反がないか監視するためレポートを追加

Tracで禁止できないなら,監視する方法を考えればいいと考えます.ticket_changeテーブルのなかでstatusをcloseに変更した人が,リーダでなかった場合を抜き出すレポートを追加する

SELECT *
  FROM ticket_change t
  WHERE field = 'status' and newvalue = 'closed' and author <> 'admin'

4. ルール違反の場合はこのticket_changeを削除してなかったこととする

DB直接で削除してください.

|

« TracのExcel等の外部ツールから扱う前に練習 | トップページ | MS-Accessを使いExcelなどから一気にチケット登録-準備。(SQLiteの場合) »

Trac」カテゴリの記事

コメント

Trac0.11をお使いでしたら、permissionの追加とカスタムワークフローの定義で、closedにできるユーザを限定することも可能です(^^)。ご参考までに・・・。

(私のところではそうやって運用しています)

投稿: syo | 2008年10月23日 (木) 22時32分

syoさん,コメントありがとうございます.まだ0.11に移行していないので移行したら(もうすぐなんですが…)カスタムワークフロー使います.記事には0.10って追加しておきます.

投稿: ざきざき | 2008年10月23日 (木) 22時40分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Trac運用例 チケットのクローズには権限が必要としたい(Trac0.10の場合):

« TracのExcel等の外部ツールから扱う前に練習 | トップページ | MS-Accessを使いExcelなどから一気にチケット登録-準備。(SQLiteの場合) »