操作
機能 #291
未完了WebUI連携: テンプレート選択機能のRedmine UI統合
ステータス:
新規
優先度:
通常
担当者:
-
開始日:
2025-06-06
期日:
進捗率:
0%
予定工数:
説明
開発タスク起票テンプレート¶
1. 前回開発進捗確認¶
- 関連チケット番号:#287(MCPツール改修: チケット起票テンプレート機能の実装)
- 前回の達成状況:コマンドラインからのテンプレート機能実装完了
- 残された課題:WebUI連携機能の実装
2. 切り戻し準備¶
- 最新バックアップ日時:2025-06-07 00:42:00
- バックアップ場所:/root/redmine-mcp (feature/ticket-templates ブランチ)
- 復元手順の確認:完了 [x]
3. ゴール確認¶
- 実装する機能:RedmineのWebUIからテンプレートを選択してチケットを作成する機能
- 期待される成果:
- Webブラウザからのテンプレート選択と適用
- 直感的なインターフェースによる作業効率向上
- 完了条件:RedmineのWebUIでチケット作成時にテンプレートを選択できるようになる
4. 前提確認¶
インフラ構成¶
- VPS-root構成状態:Ubuntu 24.04.2 LTS
- 動作中コンテナ:redmine-mcp, redmine-prod
- ネットワーク構成:DockerCompose+Nginx+SNI方式のマルチドメイン
バージョン管理¶
- Gitリポジトリ:/root/redmine-mcp
- ブランチ戦略:feature/ticket-templates から feature/template-webui に分岐
- 現在のブランチ:feature/ticket-templates
関連リソース¶
5. 開発方針¶
- アプローチ方法:
- RedmineのWebUIにテンプレート選択機能を追加
- テンプレート選択時に内容をフォームに自動挿入する機能を実装
- 使用技術・フレームワーク:
- JavaScript
- jQuery
- Redmine API
- 開発環境構築手順:
- feature/ticket-templates ブランチをベースに新ブランチを作成
- RedmineのWebインターフェース拡張用のJavaScriptを開発
6. 設計¶
機能設計¶
- 実装する機能の詳細:
- チケット作成画面にテンプレート選択ドロップダウンを追加
- テンプレート選択時に内容を説明フィールドに自動挿入
- テンプレート一覧を取得するAPIエンドポイントの実装
- 処理フロー:
- ユーザーがチケット作成画面を開く
- テンプレート一覧を取得して選択肢として表示
- テンプレートを選択すると内容が自動挿入される
関数定義¶
関数名:loadTemplates
入力:なし
出力:テンプレート一覧
処理内容:利用可能なテンプレート一覧をAPIから取得
関数名:applyTemplate
入力:テンプレートID
出力:なし
処理内容:選択されたテンプレートをチケットの説明フィールドに適用
データベース¶
- テーブル定義:変更なし
- スキーマ変更:なし
7. 詳細設計¶
- 実装方法:
- テンプレート一覧を提供するAPIエンドポイントの実装
- チケット作成フォームを拡張するJavaScriptの開発
- 対象ファイル:
- /root/redmine-mcp/mcp-redmine/webui/template-selector.js
- /root/redmine-mcp/mcp-redmine/webui/api-endpoint.rb
- 作成・更新箇所:
- 新規ファイルの作成
- Redmine設定へのJavaScriptインクルード追加
- コード構造:
- API:テンプレート一覧取得とテンプレート内容取得
- JavaScript:UI要素の追加と選択イベントの処理
8. 試験仕様¶
- ユースケース:
- WebUIからチケット作成画面を開く
- テンプレートを選択して内容が自動挿入されることを確認
- テストデータ:
- 既存のテンプレートファイル
- テストパターン:
- 各テンプレートを選択して正しく内容が挿入されることを確認
- テンプレート未選択時の動作確認
- 異なるブラウザでの動作確認
- 実施方法:
- Redmine WebUIでの手動テスト
- 異なるブラウザ環境でのテスト
- 期待結果:
- テンプレート選択UIが表示される
- テンプレート選択時に内容が自動挿入される
- クロスブラウザで動作する
9. デプロイ方法¶
- デプロイ手順:
- 開発したJavaScriptとAPI実装をデプロイ
- Redmine設定にJavaScriptを追加
- サービスを再起動
- 必要な環境変更:Redmine設定の更新
- ロールバック手順:
- JavaScriptの追加設定を削除
- サービスを再起動
10. 成果物と残課題¶
- 作成する成果物リスト:
- template-selector.js
- api-endpoint.rb
- 設定手順書
- 仕様書更新箇所:README.mdにWebUI機能の説明を追加
- 残課題と対応方法:
- テンプレート編集機能(別チケットで対応)
- 次タスクの開発指示:
- テンプレートカスタマイズ機能の開発
タスク管理¶
- 担当者:システム管理者
- 優先度:中
- 開始予定日:2025-06-15
- 完了予定日:2025-06-20
- 工数見積:3人日
コミュニケーション¶
- 進捗報告方法:Redmineチケットへのコメント
- レビュアー:開発チーム
- 関係者:開発チーム全員、エンドユーザー
操作