Tracを活用中の @snicker_jp です!
もくじ
きっかけ
まずは、どんなことがしたかったか!?というと- 一般のユーザーはチケットのクローズを出来なくする
- 管理者および上長が確認後、チケットのクローズを行う
- これにより、報告・共有漏れを防ぐ
前提条件
「0.12/TracWorkflow – The Trac Project」を参考に
作業の流れ
- 「sample-plugins の workflow – The Trac Project」から CodeReview.pyを持ってくる
- 「plugins」フォルダに配置
- 設定
- Trac再起動
「sample-plugins の workflow – The Trac Project」から CodeReview.pyを持ってくる
そのままですが、「Trac 0.12」を使っているので、「0.12用」のファイルを「sample-plugins の workflow – The Trac Project」から CodeReview.pyを持ってくる
「plugins」フォルダに配置
cp CodeReview.py [Tracヘのパス]/plugins/
Tracを再起動して、権限が追加されていることを確認
trac-admin /path/to/trac_project permission list ~ 略 ~ Available actions: BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, EMAIL_VIEW, FILE_VIEW, LOG_VIEW, MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE, MILESTONE_MODIFY, MILESTONE_VIEW, PERMISSION_ADMIN, PERMISSION_GRANT, PERMISSION_REVOKE, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE, REPORT_MODIFY, REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW, SEARCH_VIEW, THEME_ADMIN, TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_EDIT_CC, TICKET_EDIT_COMMENT, TICKET_EDIT_DESCRIPTION, TICKET_MODIFY, TICKET_REVIEW, TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN, VERSIONCONTROL_ADMIN, WIKI_ADMIN, WIKI_CREATE, WIKI_DELETE, WIKI_MODIFY, WIKI_RENAME, WIKI_VIEW
設定
「Trac-0.11のワークフローでTICKET_REVIEW権限を使う - Do You PHP はてな」 を参考にさせていただきました。太字部分が、変更点です。
resolve = new,assigned,accepted,reopened -> verify
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY
verified = verify -> closed
verified.permissions = TICKET_REVIEW
diff:
--- trac.ini.20140226 2014-02-20 11:15:39.130885836 +0900 +++ trac.ini 2014-02-26 10:55:16.716470283 +0900 @@ -237,9 +237,12 @@ reopen = closed -> reopened reopen.operations = del_resolution reopen.permissions = TICKET_CREATE -resolve = new,assigned,accepted,reopened -> closed +#resolve = new,assigned,accepted,reopened -> closed +resolve = new,assigned,accepted,reopened -> verify resolve.operations = set_resolution resolve.permissions = TICKET_MODIFY +verified = verify -> closed +verified.permissions = TICKET_REVIEW [timeline] abbreviated_messages = True
Trac再起動
どこでやってもいいんですが、少なくともここでは「Tracの再起動」確認
チケットの完了に「verify」が表示されていれば、成功です。まとめ
- これで、ユーザーは「完了」処理をしても、チケットは「クローズ」になりません
- 他、レポートなどを調整して「verify」を表示するようにします
- 共有漏れが防げるようになりました!
参考リンク
- 0.12/TracWorkflow – The Trac Project
- sample-plugins の workflow – The Trac Project
- Trac-0.11のワークフローでTICKET_REVIEW権限を使う - Do You PHP はてな
菅野 裕,今田 忠博,近藤 正裕,杉本 琢磨 技術評論社 2013-03-08