2026/07/01(水)MantisBTのステータスをカスタマイズする

更新日:
投稿日:

MantisBT標準のステータスはどうにも使いづらいので、独自のステータスを追加して置き換える方法。

確認環境

  • MantisBT 2.27.1

やりたいこと

MantisBT標準のステータスを捨てて、一人用のチケット管理システムとして使えるようにする。要するにTODO管理の様なものにする。

ステータスの再定義

まずステータスを再定義する。

ステータスは標準でnew, feedback, acknowledged, confirmed, assigned, resolved, closedと七種類あるが、これをdraft, not started, in progress, pending, testing, completedの六つに変える。意味合いとしては下書き、未着手、仕掛中、保留、試験中、完了だ。

最後に解決状態も同様にopen, fixed, reopened, unable to duplicate , not fixable, duplicate, not a bug, suspended, wont fixと九つあるのを、in completed, duplicate , wont fix, completedの四つに再定義する。

このように状態を絞ることでTODO管理ツールとして機能させることが可能になり、更に状態管理も単純になってやりやすくなる。

やり方

  1. config/config_inc.phpを開きステータスの定義を追加する

    # ステータスの定義
    # <優先度>:<キー名>として並べる。値はDBに登録される値として利用される。
    $g_status_enum_string = '10:draft,20:not started,30:in progress,40:pending,50:testing,100:completed';
    
    # 定義したキー名に対し課題一覧で表示される色を決める
    $g_status_colors['draft']       = '#fcbdbd';
    $g_status_colors['not_started'] = '#e3b7eb';
    $g_status_colors['in_progress'] = '#ffcd85';
    $g_status_colors['pending']     = '#c2dfff';
    $g_status_colors['testing']     = '#fff494';
    $g_status_colors['completed']   = '#d2f5b0';
    
    # チケットの解決状況の定義
    # <優先度>:<キー名>として並べる。値はDBに登録される値として利用される。
    $g_resolution_enum_string = '10:in completed,20:duplicate,30:wont fix,90:completed';
    
  2. config/custom_strings_inc.phpを作成し、ここまでで作った状態を和訳する。

    <?php
    
    # ステータス表示名
    # 完了はフィルタで以上が付くので一番後ろに置いておくとよいと思う
    $s_status_enum_string = '10:起案,20:未着手,30:仕掛中,40:保留,50:試験中,100:完了';
    
    # ステータス変更画面のタイトル・ボタン・通知タイトル
    $s_draft_bug_title = 'ステータスを起案に変更';
    $s_draft_bug_button = '起案にする';
    $s_email_notification_title_for_status_bug_draft = '課題が起案されました。';
    
    $s_not_started_bug_title = 'ステータスを未着手に変更';
    $s_not_started_bug_button = '未着手にする';
    $s_email_notification_title_for_status_bug_not_started = '課題が未着手になりました。';
    
    $s_in_progress_bug_title = 'ステータスを仕掛中に変更';
    $s_in_progress_bug_button = '仕掛中にする';
    $s_email_notification_title_for_status_bug_in_progress = '課題が仕掛中になりました。';
    
    $s_pending_bug_title = 'ステータスを保留に変更';
    $s_pending_bug_button = '保留にする';
    $s_email_notification_title_for_status_bug_pending = '課題が保留になりました。';
    
    $s_testing_bug_title = 'ステータスを試験中に変更';
    $s_testing_bug_button = '試験中にする';
    $s_email_notification_title_for_status_bug_testing = '課題が試験中になりました。';
    
    $s_completed_bug_title = 'ステータスを完了に変更';
    $s_completed_bug_button = '完了にする';
    $s_email_notification_title_for_status_bug_completed = '課題が完了しました。';
    
    # 解決状況表示名
    $s_resolution_enum_string = '10:未解決,20:重複,30:対応不要,90:対応完了';
    
  3. 既にMantisBTを利用している場合、既存のチケットの表示がバグるため、ステータスと解決状況が整合するようにDBを適当に整える。

    -- ステータスの置換
    UPDATE mantisbt.mantis_bug_table SET status = 20
    WHERE status != 10;
    
    -- 解決状況の置換
    UPDATE mantisbt.mantis_bug_table SET resolution = 100
    WHERE resolution = 20;
    
  4. あとは管理画面に入りワークフローを組めば終わりである。個人で使うものなので制約はだいぶ緩めにしている。

あとがき

これで管理がだいぶ楽になりそうだ。MantisBTはバグ管理ツールなのでTODO管理をしようとすると標準ではしんどいが、カスタマイズを重ねることで大分マシになる。

2026/01/09(金)MantisBTで課題一覧にある列の表示順序や表示項目を変える

投稿日:

確認環境

MantisBT 2.27.1

課題

要約が先頭になく見づらいことや、不要な項目があることがあり、これをどうにかしたかった。

やり方

MantisBTにログインし、画面右上のアカウントメニューからアカウント設定を開く。

表示項目管理というのがあるので、課題一覧の表示項目を適当にいじる。

例えばこうする。

すると、列の順序や表示列を変えることができる。