Tracの複数プロジェクトを管理する


(2018/06/20追記 ほぼ完成しました)
設計とかをまとめた記事
ソース:https://github.com/yakipudding/mymy

Tracの複数プロジェクトを管理するプログラムの自分用メモ。
ASP.Net MVC5で作る予定です

要望

転職してきた今の会社が超絶Trac主義で、すべての仕事をチケット管理している
そのため複数プロジェクトにまたがっていて、追いにくい
チケットに自分用のメモ(これは〇〇だから放置、とか後でやる、とか)を残せないので、今どういう状態かを忘れがち
クローズ後に担当者が変わる運用の為、過去自分が行ったチケットがわからなくなって後からも追いにくい
自分用のチケット管理としてツールがほしい

要件

  • 複数プロジェクトを管理したい
  • 自分が担当のチケットを一覧で見たい
  • ↑のクエリは任意で変更したい
  • 任意で一覧に残すチケットを登録できるようにしたい
  • チケットごとにメモとかリンクとか貼り付けたい
  • プロジェクトごとに表示する項目を変えたい
  • 自分が過去に担当したチケットを見れるようにしたい

モデル

  • チケット:プロジェクト×チケットIDがキー メモ項目などを保持
  • プロジェクト:プロジェクト名、URL、クエリ条件、取得列の設定
  • プロジェクトカスタム項目:プロジェクト別のカスタム列の日本語名設定

チケットモデル

  • プロジェクトID
  • チケットID
  • カテゴリ
  • ステータス
  • メモ
  • リンク
  • 表示フラグ →INDEX画面でOFFにできるボタン設置

画面・コントローラ

  • INDEX:メインページ
  • 過去チケット一覧
  • 各種マスタメンテ

INDEXページ

  • メインのページ。自分が担当しているチケット一覧と過去に担当していたチケットを表示させることができる

アクション>初期表示時

  • 取得URLに保存されたURLにGETリクエスト→最新チケット一覧取得(csv形式)
  • DB上のチケットと突合し、存在しなければDBに新規登録 * クローズしているものは表示しない(か条件付けるか…) →クローズ後も表示し続けたいものもある
  • 取得したチケット情報とDB上のチケットのメモ項目(コントロール)を一覧で表示
  • 任意のタイミングで非表示にできる(非表示ボタン)

アクション>新規登録ボタン押下

  • INDEXに表示させる任意チケットの追加
  • プロジェクト分類とIDを指定/またはURL入力でプロジェクト分類を逆設定する必要あり
  • チケットに登録

アクション>編集ボタン押下

  • チケットのメモとかカテゴリとか登録できる

過去チケット一覧ページ

  • 過去に担当していたチケットの一覧が見れる
  • カテゴリ、タイトル、表示条件を指定して検索できる
  • 表示・非表示にかかわらず表示できる(フィルタ可能)

ソース