testlinkと複数tracサイトとの連携

Testlinkでテストプロジェクト毎に別のTracサイトを指定できるようにTestlinkのコードを修正してみたので、メモ代わりに修正箇所を記録しておきます。(TestlinkのVersionは、1.7.4です。)

install_dir/lib/bugtracking/int_trac.phpのcheckConnectionViaXmarpc()に次のような箇所があります。

$this->m_dbHost = BUG_TRACK_DB_HOST . $tracProjectName;

これを

$this->m_dbHost = $tracProjectName;

に修正して、install_dir/cfg/trac.cfg.phpの$g_interface_bugs_project_name_mappingの設定をTracプロジェクトの名前ではなく、URLで指定します。
これまでは以下のようにテストプロジェクト毎にTracのプロジェクト名を指定していました。

/** Mapping TL test project name vs trac project url */
$g_interface_bugs_project_name_mapping = array(
    'testlinkProject' => 'tracProject',
    '<YourTLTestProjectName2>' => '<YourTracProject2>',
);

これを次のようにTracのURLを指定するようにします。

/** Mapping TL test project name vs trac project url */
$g_interface_bugs_project_name_mapping = array(
    'testlinkProject1' => 'http://localhost/tracProject1',
    'testlinkProject2' => 'http://localhost:8080/tracProject2',
    '<YourTLTestProjectName2>' => '<YourTracProject2>',
);


これで、Testlinkのプロジェクト毎に別のTracサイトを指定することができます。