Windowsドメイン認証しているTracで、チケットの担当者欄を選択できるようにする。

クラスメソッドではプロジェクト管理にTracを利用することが多いです。 Tracとは、言わずと知れたITS(Issue Tracking System=問題追跡システム)の代表格の一つですね。私としては、ITSはTracに限らず開発プロジェクトに欠かせない重要なツールです。

さてITSと言えばチケットな訳ですが、Tracでチケットの担当者を入力するとき、デフォルト設定ではいちいち手入力しなくてはいけません。 これはかなり面倒くさいので選択できるようにしたいですね。

なお、本記事はTrac0.11を前提として記述しています。

チケットの担当者欄を選択ボックスにする

チケットの担当者欄を選択ボックスにするのは簡単です。 trac.iniファイルに以下の通り記述すればOKです。

[ticket] 
restrict_owner = true 

WebAdmin+IniAdminプラグインがインストールされている環境ならさらに簡単です。以下の手順で設定することができます。

  1. 管理コンソール(TRAC_ADMIN権限が必要です)でtrac.iniのticketの画面を開きます。
  2. restrict_ownerの項目でtrueを選択します。
  3. Apply changesボタンをクリックすれば完了です。

restrict_owner = true

簡単ですね。

上記の設定をしたときにチケットの担当者欄に選択候補として表示されるには、TracのDBにユーザーのセッション情報が登録されている必要があります。なおかつ、そのユーザーはTICKET_MODIFY権限を持っている必要があります。 セッション情報は、ユーザーがログインした時などに作成されます。

Windowsドメイン認証を利用している場合

クラスメソッド社内のTracは、標準のBasic認証ではなく、AD(Active Directory)を参照しWindowsドメイン認証でユーザー認証を行っています。この場合Tracに対してユーザー情報を登録する必要はありません。しかしそのままではTracにセッション情報が作成されないようで、せっかくチケットの担当者欄を選択ボックスにしても誰も選択することができません。

担当者の選択リストが空っぽ

それではどうするかですが、単純にTracにユーザー登録をしてしまえばよいです。管理コンソールからユーザー情報を登録してみましょう。ユーザー名はADで管理しているアカウントと同じにします。

ユーザー情報を行ったら、チケットの担当者欄にユーザー名が表示されるようになりました。

担当者をリストから選択

難点と言えば、いちいちユーザー情報を登録しなくてはいけないということです。ユーザー数が多ければ、なかなか大変な作業ですね。 登録するユーザー数が多いときは、バッチをつくってコマンドライン(trac-admin)から登録するなど工夫が必要です。