Symfoware

Symfowareについての考察blog

mantisにTaskプラグインを導入する

ふと、mantisのサイトを見ていると、Taskプラグインなるものを見つけました。

Plugin - Tasks

コメントを読んだだけでは、どんなプラグインかわからなかったので
インストールしてみました。
せっかくなので、手順をメモしておきます。



ダウンロードとプラグインの配置



Plugin - Tasks
ここからTasks204.zipをダウンロードしておきます。

ダウンロードしたTasks204.zipを/usr/local/srcにコピーしました。
まずは解凍


# cd /usr/local/src/
# unzip Tasks204.zip



Tasksというフォルダが作成され、その中に解凍したファイルがあるかと思います。


mantisのプラグインは[mantisのインストールフォルダ]/plugins/に配置しますので、
解凍したフォルダを対象の位置へ移動します。


# mv /usr/local/src/Tasks /var/www/mantis/plugins/




この時点で、[システム管理]-[プラグイン管理]を表示すると、利用可能なプラグインとして
「Tasks 2.04」が表示されているかと思います。

18_001_20111003172008.png

しかし、まだこの状態では使用できません。






プラグインが使用するテーブルの作成



Tasksプラグインのフォルダにあるdocs/install.txtに記載がありますが、
このプラグインが使用するテーブルを手動で作成する必要があります。

作成するテーブルは

mantis_plugin_Tasks_defined_table
mantis_plugin_Tasks_autodefined_table


の二つ。



# mysql -uroot -ppassword
mysql> use mantis;



として、mantisが使用するデータベースに接続。
以下のクエリを実行します。


CREATE TABLE IF NOT EXISTS `mantis_plugin_Tasks_defined_table` (
`task_id` int(11) NOT NULL auto_increment,
`bug_id` int(11) default NULL,
`task_user` int(11) default NULL,
`task_handler` int(11) default NULL,
`task_title` varchar(50) default NULL,
`task_desc` varchar(250) default NULL,
`task_response` varchar(250) default NULL,
`task_created` datetime default NULL,
`task_changed` datetime default NULL,
`task_due` datetime default '0000-00-00 00:00:00',
`task_completed` datetime default '0000-00-00 00:00:00',
PRIMARY KEY (`task_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

CREATE TABLE IF NOT EXISTS `mantis_plugin_Tasks_autodefined_table` (
`autotask_id` int(11) NOT NULL auto_increment,
`project_id` int(11) default NULL,
`category_id` int(11) default NULL,
`autotask_handler` int(11) default NULL,
`autotask_title` varchar(50) default NULL,
`autotask_desc` varchar(250) default NULL,
`autotask_due` int(11) default NULL,
PRIMARY KEY (`autotask_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;








core/bug_api.phpの修正



このプラグインを使用するためには、mantis本体のソース「core/bug_api.php」に
一行処理を追加してやる必要があります。


# vi /var/www/mantis/core/bug_api.php





「event_signal( 'EVENT_RESOLVE_BUG', $p_bug_id );」という処理を追加。


/**
* resolve the given bug
* @return bool (alawys true)
* @access public
*/
function bug_resolve( $p_bug_id, $p_resolution, $p_fixed_in_version = '', $p_bugnote_text = '', $p_duplicate_id = null, $p_handler_id = null, $p_bugnote_private = false, $p_time_tracking = '0:00' ) {
        $c_resolution = (int) $p_resolution;
        $p_bugnote_text = trim( $p_bugnote_text );

        # Add bugnote if supplied
        # Moved bugnote_add before bug_set_field calls in case time_tracking_no_note is off.
        # Error condition stopped execution but status had already been changed

        ##### この一行を追加 #####
        event_signal( 'EVENT_RESOLVE_BUG', $p_bug_id );

        bugnote_add( $p_bug_id, $p_bugnote_text, $p_time_tracking, $p_bugnote_private, 0, '', NULL, FALSE );








config_inc.phpへ追記



プラグインを使用するために、mantisの設定ファイル「config_inc.php」へ、以下の
二行を追記します。


# My Taskというメニューを表示するか
# OFFにすると、[マイビュー]に表示されるようですが、さらにソースの修正が必要となるので、
# ONにして、メニューに表示する方法を選択しました。
$g_tasks_show_menu = ON;

# プラグインが動作するmantisのURLを指定します。
$g_path = 'http://www.example.com/mantis/';








プラグインの有効化



[システム管理] - [プラグイン管理]を選択し、Tasks 2.04の追加を実行します。

18_002_20111003172008.png


インストール済みプラグインにTasks 2.04が追加されました。
続けて、「Tasks 2.04」のリックをクリックして、設定画面を開きます。

18_003_20111003172007.png


「Maintain automated tasks」のリンクをクリック。

18_004_20111003172007.png


プロジェクトのどのカテゴリーに、バグの報告が行われたらタスクとして追加するか設定します。
以下の場合、サンプルプロジェクトにGeneralカテゴリーで登録されたら、administratorの
タスクとしてデータが登録されます。

18_005_20111003172007.png
18_006_20111003172007.png


試しに、サンプルプロジェクトにGeneralカテゴリーでデータを登録してみます。

18_007_20111003172035.png



こんな感じで、タスクリストに追加されました。

18_008_20111003172035.png


正直、使いどころがいまいち不明です・・・




その他のプラグイン



他のMantisプラグインはこちら。

Mantisのプラグイン一覧
http://symfoware.blog68.fc2.com/blog-entry-1050.html





関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2011/10/03(月) 17:50:52|
  2. mantis
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Ubuntu で動くFTPのGUIクライアント FileZilla | ホーム | mantisのconfig_inc.phpのお勧め設定>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/826-ed1dc9d2
この記事にトラックバックする(FC2ブログユーザー)