0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

API を公開していない社内 Redmine サーバーから効率的にチケット情報を検索する

Posted at

内容

  • API を公開していない社内 Redmine サーバーから効率的にチケット情報を検索したい
  • playwright をバックボーンに実装された fetcher-mcp ツールを修正して、ログインを行ったブラウザを、そのまま表示してチケット検索できるようにした
  • 効率的にチケット検索をするために AI Agent の "指示書" を用意した
  • このツールを業務で試しており、私に対する質問は、確認する手間を減らして回答できるようになってきている

MCP ツール

fetcher-mcp2つの修正を与えた。

  • fetch_url/fetch_urls ツールのスキーマに closePage フィールドを追加しました。このフィールドにより、ログインのためにブラウザのページを開いたままにできます。この機能はデバッグモードで動作します

  • 上記の変更により、各ツール呼び出し後にブラウザが閉じられなくなったため、close_browser` ツールを追加しました。これで、いつでもブラウザを閉じることができます

指示書

vscode のワーススペースには以下のような指示書:instructions.md を配置して、"チケット番号" や "wiki" のワードから適当な URL を組み立てさせている。extractMainContent をデフォルトの true だと、取得情報の欠損が生じたため、明示的に false を指示している。チケット一覧の5ページの検索結果をまとめてくれれば、だいぶ助かるため、このようにしている。

# 検索、情報のまとめ方

* GitHub
   * PR や Issue のコメントを参照します。
* Acsmine
   * Acsmine のチケット検索をつかいます
   * ほかには wiki ページを参照します。
   * `https://example.com/redmine/projects/<project>/wiki`

# Acsmine のチケット検索

* チケットを参照するには、以下の URL を使用します。
   * `https://example.com/redmine/issues/<チケット番号>`
* チケットのキーワード検索には以下の URL を使用します。
   * `https://example.com/redmine/projects/<project>/search?issues=1&page=<検索結果のページ>&q=<キーワード>`
   * `fetcher_mcp` の `extractMainContent` は `false` に設定してください。
   * 1 ページから 5 ページまでの検索結果を取得してください。

用例

質問

  • #fetch_url 307307 のチケット内容をみたい。ログインのためにページを開いて。

  • ログインを行ったので、再度取得して

回答

{
  "url": "https://example.com/redmine/issues/307307",
  "debug": true,
  "waitForNavigation": true,
  "extractContent": false,
  "closePage": false  
}

ログインページが表示されています。ログイン情報を入力してください。

質問

  • wiki からリリース手順の項目を調べて

回答

Agent の実行時の詳細は記載しないが、closePage = true として、2回ツールを使った結果、いい感じに wiki ページからリリース手順をまとめてくれた。

素晴らしい!Wikiページの検索でリリース手順に関する専用のWikiページが見つかりました。

fetcher_url (MCP Server)
完璧です!**Prod環境のデプロイフロー(リリース手順)**の詳細なWikiページを見つけました。このページには本格的なリリース手順が記載されています。

📋 Prod環境のデプロイフロー(リリース手順)の概要
🔧 事前準備
開発環境の構築
prodデータベースへの接続
prod AWSアカウント内のIAM
🚀 デプロイ手順
dev環境デプロイ

**** のコミットを先にdev環境で実行
prod自動デプロイ停止

**** から「Disable Auto Deploy」を押下
releaseブランチ整理

試験不十分な機能のrevert処理
***さん(もしくは他の運用メンバー)によるコミット確認
データベースマイグレーション実行とデプロイジョブ開始

ローカルからマイグレーション実行
「ビルド実行」を押下してデプロイ開始

#300947チケットと併せてPMにSlack報告
⚠️ トラブルシューティング
デプロイが長引く場合の連絡ルール
📚 関連リンク
PM確認項目: 運用項目一覧
deployチーム・レビュワー: スケジュール検討
Releaseブランチ整理参考: Release_ブランチの整理
これが探していたリリース手順の詳細な内容です!

気づき

extractMainContent = true では、以下のように情報欠損がおきるので、false で運用したほうがよいかもしれない

Prod環境のデプロイフロー: 運用項目一覧
PMによる確認項目の確認が終わったら、Wikiページにまとめる必要があります。その他の詳細は運用フローセクションを参照してください。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?