プロジェクト

全般

プロフィール

機能 #287

未完了

MCPツール改修: チケット起票テンプレート機能の実装

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

ステータス:
解決
優先度:
高め
担当者:
-
開始日:
2025-06-06
期日:
進捗率:

0%

予定工数:

説明

開発タスク起票テンプレート

1. 前回開発進捗確認

  • 関連チケット番号:なし(新規機能)
  • 前回の達成状況:N/A
  • 残された課題:N/A

2. 切り戻し準備

  • 最新バックアップ日時:作業開始前に実施
  • バックアップ場所:VPS-rootのgitリポジトリ
  • 復元手順の確認:完了 [ ]

3. ゴール確認

  • 実装する機能:RedmineMCPのチケット起票時に標準テンプレートを自動適用する機能
  • 期待される成果:
    1. チケット内容の標準化
    2. インフラ理解やシステム理解の浅さ(コンテキストが共有できていない)状態でのミス、勘違いの抑制
    3. 致命的なエラー時の切り戻しポイントの設定
    4. 開発資産の未コミットや破損による効率低下や致命的なバグ生産の抑制
  • 完了条件:チケット起票時に開発タスク用テンプレートが自動的に適用され、量が多い場合は子チケットに適切に分割される

4. 前提確認

インフラ構成

  • VPS-root構成状態:Ubuntu 24.04.2 LTS @ 85.131.243.51
  • 動作中コンテナ:作業開始時に確認
  • ネットワーク構成:DockerCompose+Nginx+SNI方式のマルチドメイン+ワイルドカードSSL

バージョン管理

  • Gitリポジトリ:作業開始時に確認
  • ブランチ戦略:feature/redmine-template
  • 現在のブランチ:作業開始時に確認

関連リソース

  • RedmineMCP関連チケット:なし
  • MCP設定状況:VPS-ROOTのMCPツール環境
  • 参照する仕様書:開発タスク起票テンプレート定義書

5. 開発方針

  • アプローチ方法:
    1. Redmine Issue Templatesプラグインの導入
    2. 開発タスク用テンプレートの設定
    3. MCPツールとの連携スクリプト開発
    4. 子チケット自動分割機能の実装
  • 使用技術・フレームワーク:
    • Ruby
    • Redmine API
    • Bash
  • 開発環境構築手順:
    1. Redmine Issue Templatesプラグインのインストール
    2. APIキーの取得・設定
    3. テスト環境でのスクリプト開発・検証

6. 設計

機能設計

  • 実装する機能の詳細:
    1. RedmineMCPへのテンプレート設定機能
    2. チケット起票時のテンプレート自動適用
    3. 大きなセクションの子チケット自動分割
    4. MCPコマンドとの統合
  • 処理フロー:
    1. ユーザーがMCPコマンドを実行
    2. テンプレートを適用したチケットを作成
    3. 必要に応じて子チケットに分割
    4. チケットIDを環境変数に設定

関数定義

関数名:create_ticket
入力:タイトル、説明(オプション)
出力:チケットID
処理内容:Redmine APIを使用してテンプレート適用済みのチケットを作成
関数名:split_ticket
入力:親チケットID、説明
出力:子チケットIDリスト
処理内容:大きなセクションを持つ親チケットから子チケットを自動作成

データベース

  • テーブル定義:Redmine既存テーブルを利用
  • スキーマ変更:なし

7. 詳細設計

  • 実装方法:
    1. Issue Templatesプラグインのインストール
    2. テンプレート登録用Rubyスクリプト開発
    3. MCPコマンド連携用スクリプト開発
    4. 既存MCPコマンドとの統合
  • 対象ファイル:
    • /path/to/vps-root/mcp/redmine/mcp_redmine_template_manager.rb
    • /path/to/vps-root/mcp/redmine/mcp_redmine_hook.rb
    • /path/to/vps-root/mcp/redmine/config.yml
  • 作成・更新箇所:
    • 新規スクリプトファイル作成
    • 既存MCPコマンドの拡張
  • コード構造:
    • テンプレート管理クラス
    • Redmine API連携メソッド
    • チケット分割ロジック
    • MCP連携インターフェース

8. 試験仕様

  • ユースケース:
    1. MCPコマンドからチケット起票
    2. 大きなテンプレートの子チケット自動分割
    3. 既存MCPコマンドとの連携
  • テストデータ:
    • テンプレート定義
    • サンプルチケット情報
  • テストパターン:
    1. 標準的なチケット作成
    2. 分割が必要な大きなチケット作成
    3. エラー処理(API接続エラーなど)
  • 実施方法:
    1. 各コマンド実行のテスト
    2. API応答の確認
    3. 作成されたチケットの検証
  • 期待結果:
    1. テンプレートが正しく適用されたチケットが作成される
    2. 適切に子チケットに分割される
    3. MCPコマンドと連携して動作する

9. デプロイ方法

  • デプロイ手順:
    1. プラグインのインストール
    2. スクリプトファイルの配置
    3. 設定ファイルの調整
    4. 実行権限の付与
    5. シンボリックリンクの作成
  • 必要な環境変更:
    • Redmine設定の変更(APIアクセス有効化)
    • MCPパスの更新
  • ロールバック手順:
    1. バックアップからの復元
    2. スクリプト変更の取り消し

10. 成果物と残課題

  • 作成する成果物リスト:
    1. テンプレート管理スクリプト
    2. MCP連携スクリプト
    3. 設定ファイル
    4. 導入手順書
  • 仕様書更新箇所:
    • MCPコマンド仕様書
    • RedmineMCP連携仕様書
  • 残課題と対応方法:
    • テンプレート更新方法の整備
    • 追加テンプレートの開発
  • 次タスクの開発指示:
    • テンプレート種類の拡充
    • UIからのテンプレート管理機能

タスク管理

  • 担当者:システム管理者
  • 優先度:高
  • 開始予定日:作業割り当て後決定
  • 完了予定日:開始から5営業日以内
  • 工数見積:3人日

コミュニケーション

  • 進捗報告方法:Redmineチケットへのコメント
  • レビュアー:プロジェクト管理者
  • 関係者:開発チーム全員

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