プロジェクト

全般

プロフィール

機能 #291

未完了

WebUI連携: テンプレート選択機能のRedmine UI統合

Redmine Admin さんが1日前に追加. 1日前に更新.

ステータス:
新規
優先度:
通常
担当者:
-
開始日:
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からテンプレートを選択してチケットを作成する機能
  • 期待される成果:
    1. Webブラウザからのテンプレート選択と適用
    2. 直感的なインターフェースによる作業効率向上
  • 完了条件: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

関連リソース

  • RedmineMCP関連チケット:#287, #289, #290
  • MCP設定状況:コマンドラインベースのテンプレート機能が利用可能
  • 参照する仕様書:既存テンプレート仕様

5. 開発方針

  • アプローチ方法:
    1. RedmineのWebUIにテンプレート選択機能を追加
    2. テンプレート選択時に内容をフォームに自動挿入する機能を実装
  • 使用技術・フレームワーク:
    • JavaScript
    • jQuery
    • Redmine API
  • 開発環境構築手順:
    1. feature/ticket-templates ブランチをベースに新ブランチを作成
    2. RedmineのWebインターフェース拡張用のJavaScriptを開発

6. 設計

機能設計

  • 実装する機能の詳細:
    1. チケット作成画面にテンプレート選択ドロップダウンを追加
    2. テンプレート選択時に内容を説明フィールドに自動挿入
    3. テンプレート一覧を取得するAPIエンドポイントの実装
  • 処理フロー:
    1. ユーザーがチケット作成画面を開く
    2. テンプレート一覧を取得して選択肢として表示
    3. テンプレートを選択すると内容が自動挿入される

関数定義

関数名:loadTemplates
入力:なし
出力:テンプレート一覧
処理内容:利用可能なテンプレート一覧をAPIから取得
関数名:applyTemplate
入力:テンプレートID
出力:なし
処理内容:選択されたテンプレートをチケットの説明フィールドに適用

データベース

  • テーブル定義:変更なし
  • スキーマ変更:なし

7. 詳細設計

  • 実装方法:
    1. テンプレート一覧を提供するAPIエンドポイントの実装
    2. チケット作成フォームを拡張する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. 試験仕様

  • ユースケース:
    1. WebUIからチケット作成画面を開く
    2. テンプレートを選択して内容が自動挿入されることを確認
  • テストデータ:
    • 既存のテンプレートファイル
  • テストパターン:
    1. 各テンプレートを選択して正しく内容が挿入されることを確認
    2. テンプレート未選択時の動作確認
    3. 異なるブラウザでの動作確認
  • 実施方法:
    1. Redmine WebUIでの手動テスト
    2. 異なるブラウザ環境でのテスト
  • 期待結果:
    1. テンプレート選択UIが表示される
    2. テンプレート選択時に内容が自動挿入される
    3. クロスブラウザで動作する

9. デプロイ方法

  • デプロイ手順:
    1. 開発したJavaScriptとAPI実装をデプロイ
    2. Redmine設定にJavaScriptを追加
    3. サービスを再起動
  • 必要な環境変更:Redmine設定の更新
  • ロールバック手順:
    1. JavaScriptの追加設定を削除
    2. サービスを再起動

10. 成果物と残課題

  • 作成する成果物リスト:
    • template-selector.js
    • api-endpoint.rb
    • 設定手順書
  • 仕様書更新箇所:README.mdにWebUI機能の説明を追加
  • 残課題と対応方法:
    • テンプレート編集機能(別チケットで対応)
  • 次タスクの開発指示:
    • テンプレートカスタマイズ機能の開発

タスク管理

  • 担当者:システム管理者
  • 優先度:中
  • 開始予定日:2025-06-15
  • 完了予定日:2025-06-20
  • 工数見積:3人日

コミュニケーション

  • 進捗報告方法:Redmineチケットへのコメント
  • レビュアー:開発チーム
  • 関係者:開発チーム全員、エンドユーザー

他の形式にエクスポート: Atom PDF