mcpField
O
openai-sentry

openai-sentry

github.com/trailofbitsクラウド・DevOps52272 回インストール15 週間前に更新
リポジトリ

openai-sentry について

Sentry API を通じてプロジェクトの課題やイベント詳細を取得する、読み取り専用の可観測性スキルです。個人情報を伏せ、生のスタックトレースを避けて情報を整形します。

主な機能

  1. 01課題の一覧表示と絞り込み
  2. 02課題とイベント詳細の取得
  3. 03ページネーション対応
  4. 04個人情報のマスキング
  5. 05課題概要の整形

活用シーン

  1. 01本番環境の最近の課題を確認
  2. 02課題に関連するイベントを調査
  3. 03クエリに合う課題を検索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/trailofbits/skills-curated --skill openai-sentry

インストール後、Claude Code で/openai-sentryを入力して読み込まれたか確認します。

同梱ファイルscripts/sentry_api.py

詳細

Sentry(読み取り専用のオブザーバビリティ)

クイックスタート

  • まだ認証されていない場合は、コマンドを実行する前に、有効な SENTRY_AUTH_TOKEN(project:read、event:read などの読み取り専用スコープ)をユーザーに提供してもらうか、ログインしてトークンを作成してもらいます。
  • SENTRY_AUTH_TOKEN を環境変数として設定します。
  • オプションのデフォルト値:SENTRY_ORG、SENTRY_PROJECT、SENTRY_BASE_URL。
  • デフォルト値:組織/プロジェクトは {your-org}/{your-project}、期間は 24h、環境は prod、上限は 20(最大 50)です。
  • 必ず Sentry API を呼び出します(推測やキャッシュは使用しません)。

トークンがない場合は、ユーザーに次の手順を案内します。

  1. Sentry 認証トークンを作成します:https://sentry.io/settings/account/api/auth-tokens/
  2. project:read、event:read、org:read などの読み取り専用スコープを持つトークンを作成します。
  3. システムの環境変数として SENTRY_AUTH_TOKEN を設定します。
  4. 必要に応じて、使用している OS/シェルでの環境変数の設定方法を案内します。
  • チャットでトークン全体を貼り付けるようユーザーに求めてはいけません。ローカルで設定してもらい、準備ができたら知らせてもらいます。

主なタスク(同梱スクリプトを使用)

決定的な API 呼び出しには scripts/sentry_api.py を使用します。ページネーションを処理し、一時的なエラーが発生した場合は 1 回再試行します。

スクリプトとリファレンスは {baseDir}/ 配下にあります。

API 要件

必ず次のエンドポイントを使用します(GET のみ):

  • イシュー一覧:/api/0/projects/{org_slug}/{project_slug}/issues/
  • イシューの詳細:/api/0/issues/{issue_id}/
  • イシューのイベント:/api/0/issues/{issue_id}/events/
  • イベントの詳細:/api/0/projects/{org_slug}/{project_slug}/events/{event_id}/

入力とデフォルト値

  • org_slug、project_slug:デフォルトは {your-org}/{your-project} です(本番環境以外の組織は避けます)。
  • time_range:デフォルトは 24h です(statsPeriod として渡します)。
  • environment:デフォルトは prod です。
  • limit:デフォルトは 20、最大は 50 です(上限に達するまでページネーションします)。
  • search_query:任意の query パラメーターです。
  • issue_short_id:最初にイシュー一覧のクエリで解決します。

出力形式のルール

  • イシュー一覧:タイトル、short_id、ステータス、初回検出日時、最終検出日時、件数、環境、主なタグを表示します。新しい順に並べます。
  • イベントの詳細:culprit、タイムスタンプ、環境、リリース、URL を含めます。
  • 結果がない場合は、その旨を明示します。
  • 出力では PII(メールアドレス、IP アドレス)をマスキングします。スタックトレースをそのまま出力してはいけません。
  • 認証トークンを表示してはいけません。

ゴールデンテストの入力

  • 組織:{your-org}
  • プロジェクト:{your-project}
  • イシューの short ID:{ABC-123}

プロンプトの例:「過去 24 時間の prod の未解決イシューを上位 10 件一覧表示してください。」 期待される結果:タイトル、short ID、件数、最終検出日時を含む順序付きリスト。

使用する場合

使用しない場合

コメント