プロジェクト

全般

プロフィール

機能 #290

未完了

テンプレート拡充: インフラ変更とリリース管理テンプレートの追加

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

ステータス:
新規
優先度:
通常
担当者:
-
開始日:
2025-06-06
期日:
進捗率:

0%

予定工数:

説明

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

1. 前回開発進捗確認

  • 関連チケット番号:#287(MCPツール改修: チケット起票テンプレート機能の実装)
  • 前回の達成状況:基本的なテンプレート機能の実装が完了
  • 残された課題:テンプレート種類の拡充とUI改善

2. 切り戻し準備

  • 最新バックアップ日時:2025-06-07 00:42:00
  • バックアップ場所:/root/redmine-mcp (feature/ticket-templates ブランチ)
  • 復元手順の確認:完了 [x]

3. ゴール確認

  • 実装する機能:インフラ変更用とリリース管理用のテンプレート追加
  • 期待される成果:
    1. より多様なタスクタイプに対応したテンプレート環境の提供
    2. インフラ変更とリリースプロセスの標準化
  • 完了条件:新テンプレートが作成され、コマンドから利用可能になる

4. 前提確認

インフラ構成

  • VPS-root構成状態:Ubuntu 24.04.2 LTS
  • 動作中コンテナ:redmine-mcp, redmine-prod
  • ネットワーク構成:DockerCompose+Nginx+SNI方式のマルチドメイン

バージョン管理

  • Gitリポジトリ:/root/redmine-mcp
  • ブランチ戦略:feature/ticket-templates から feature/additional-templates に分岐
  • 現在のブランチ:feature/ticket-templates

関連リソース

  • RedmineMCP関連チケット:#287, #289
  • MCP設定状況:チケット作成コマンドが正常に動作
  • 参照する仕様書:既存テンプレート仕様

5. 開発方針

  • アプローチ方法:
    1. 既存テンプレートの構造を参考に、新しいテンプレートを作成
    2. テンプレート選択機能の拡充
  • 使用技術・フレームワーク:
    • Markdown形式のテンプレート
    • Ruby(テンプレート管理スクリプト)
  • 開発環境構築手順:
    1. feature/ticket-templates ブランチをベースに新ブランチを作成
    2. templates ディレクトリに新しいテンプレートファイルを追加

6. 設計

機能設計

  • 実装する機能の詳細:
    1. インフラ変更用テンプレート:インフラストラクチャ変更に関する情報を網羅
    2. リリース管理用テンプレート:リリースプロセスとバージョン管理情報を記録
  • 処理フロー:既存の処理フローを活用(テンプレート読み込み→チケット作成→子チケット分割)

関数定義

既存の関数を再利用し、新たな関数定義は不要。

データベース

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

7. 詳細設計

  • 実装方法:新しいMarkdownテンプレートファイルの作成
  • 対象ファイル:
    • /root/redmine-mcp/mcp-redmine/templates/infrastructure_change.md
    • /root/redmine-mcp/mcp-redmine/templates/release_management.md
  • 作成・更新箇所:新規テンプレートファイルの作成のみ
  • コード構造:変更なし

8. 試験仕様

  • ユースケース:
    1. インフラ変更用テンプレートを使用したチケット作成
    2. リリース管理用テンプレートを使用したチケット作成
  • テストデータ:
    • テストチケットのタイトルと説明
  • テストパターン:
    1. mcp-redmine-ticket "テスト: インフラ変更" infrastructure_change.md
    2. mcp-redmine-ticket "テスト: リリース管理" release_management.md
  • 実施方法:コマンドラインからの実行
  • 期待結果:テンプレートが適用されたチケットが作成される

9. デプロイ方法

  • デプロイ手順:
    1. 新テンプレートファイルを作成
    2. git add, commit, push で変更をコミット
    3. 本番環境にmerge
  • 必要な環境変更:なし
  • ロールバック手順:git checkout で前のコミットに戻す

10. 成果物と残課題

  • 作成する成果物リスト:
    • infrastructure_change.md テンプレート
    • release_management.md テンプレート
  • 仕様書更新箇所:README.mdに新テンプレートの情報を追加
  • 残課題と対応方法:
    • UIからのテンプレート選択機能(別チケットで対応)
  • 次タスクの開発指示:
    • WebUIからのテンプレート管理機能の開発

タスク管理

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

コミュニケーション

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

Redmine Admin さんが1日前に更新

作業指示:テンプレート拡充の実装

RedmineMCPのチケット起票テンプレート機能に、インフラ変更用とリリース管理用のテンプレートを追加する作業を進めてください。基本的なテンプレート機能は既に実装済み(#287)で、必要なバグ修正も完了しています(#289, #293)。

作業手順

  1. 新ブランチの作成

    cd /root/redmine-mcp
    git checkout feature/ticket-templates
    git pull
    git checkout -b feature/additional-templates
    
  2. インフラ変更用テンプレートの作成

    • /root/redmine-mcp/mcp-redmine/templates/infrastructure_change.md ファイルを作成
    • 以下の項目を含めること:
      • 変更概要(目的、範囲、期待される効果)
      • リスク評価(潜在的な影響、ダウンタイム、復旧計画)
      • 変更前チェックリスト(バックアップ、通知、テスト環境での検証)
      • 実施手順(詳細な手順、タイムライン)
      • ロールバック手順(問題発生時の対応)
      • 変更後の確認項目(稼働確認、モニタリング)
      • レビュー(変更の成果、学習点、次回への改善)
  3. リリース管理用テンプレートの作成

    • /root/redmine-mcp/mcp-redmine/templates/release_management.md ファイルを作成
    • 以下の項目を含めること:
      • リリース情報(バージョン、日時、対象環境)
      • 変更内容(新機能、改善点、修正されたバグ)
      • 前提条件(依存関係、環境要件)
      • リリース手順(デプロイ手順、データマイグレーション)
      • テスト計画(テスト項目、期待される結果)
      • コミュニケーション計画(通知対象、タイミング、内容)
      • ロールバック計画(問題発生時の対応)
      • リリース後のモニタリング計画
  4. テンプレート選択ロジックの拡張

    • 新しいテンプレートをコマンドから選択できるようにする
    • /root/redmine-mcp/mcp-redmine/mcp_redmine_template_manager.rb の修正は不要(既存のロジックで対応可能)
  5. READMEの更新

    • /root/redmine-mcp/mcp-redmine/README.md を更新し、新しいテンプレートの説明と使用方法を追加
  6. テスト

    • 各新テンプレートを使用してテストチケットを作成
    • mcp-redmine-ticket "テスト: インフラ変更テンプレート" infrastructure_change.md
      mcp-redmine-ticket "テスト: リリース管理テンプレート" release_management.md
      
  7. 変更のコミット

    git add .
    git commit -m 'テンプレート拡充: インフラ変更とリリース管理テンプレートを追加 (#290)'
    git push origin feature/additional-templates
    

テンプレート作成のポイント

  • 明確な構造: 各セクションを明確に区分し、## や ### で階層構造を表現する
  • 適切な粒度: 詳細すぎず、かといって抽象的すぎない適切な粒度のテンプレートを作成
  • 汎用性: 様々なタイプのインフラ変更やリリースに適用できる汎用的な内容にする
  • ガイダンス: テンプレート内に入力のヒントや例を含める(実際の使用時に削除可能)

完了条件

  • 2つの新テンプレートが作成され、正しくフォーマットされている
  • テンプレートを使用してチケットが正常に作成できる
  • READMEが更新され、新テンプレートの使用方法が記載されている
  • 変更がGitにコミットされている

注意事項

  • テンプレートは実際の運用を想定して作成すること
  • 長すぎるセクションは子チケットに分割される可能性があるため、適切なサイズを心がける
  • テンプレートのフォーマットは既存のテンプレートを参考にすること

完了したら、このチケットにコメントを追加し、テスト結果とともに報告してください。

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