sentry

Utilise quand l'utilisateur demande d'inspecter les problèmes ou événements Sentry, de résumer les erreurs de production récentes, ou d'extraire les données de santé Sentry de base via Sentry CLI ; effectue des requêtes en lecture seule à l'aide de la commande `sentry`.

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

Sentry (Observabilité en lecture seule)

Démarrage rapide

  • Si l'utilisateur n'est pas déjà authentifié, demandez-lui d'exécuter sentry auth login ou de définir SENTRY_AUTH_TOKEN comme variable d'environnement.
  • Le CLI détecte automatiquement org/project à partir des DSN dans les fichiers .env, le code source, les configurations par défaut et les noms de répertoires. Spécifiez <org>/<project> uniquement si la détection automatique échoue ou sélectionne la mauvaise cible.
  • Valeurs par défaut : plage horaire 24h, environnement production, limite 20.
  • Utilisez toujours --json lors du traitement programmatique de la sortie. Utilisez --json --fields pour sélectionner des champs spécifiques et réduire la taille de la sortie.
  • Utilisez sentry schema <resource> pour découvrir rapidement les points d'extrémité API.

Si le CLI n'est pas installé, donnez ces étapes à l'utilisateur :

  1. Installez Sentry CLI : curl https://cli.sentry.dev/install -fsS | bash
  2. Authentifiez-vous : sentry auth login
  3. Confirmez l'authentification : sentry auth status
  • Ne demandez jamais à l'utilisateur de coller le jeton complet dans le chat. Demandez-lui de le définir localement et de confirmer quand il est prêt.

Tâches principales (utiliser Sentry CLI)

Utilisez le CLI sentry pour toutes les requêtes. Il gère l'authentification, la détection org/project, la pagination et les tentatives automatiquement. Utilisez --json pour une sortie lisible par machine.

1) Lister les problèmes (triés par plus récent)

sentry issue list \
  --query "is:unresolved environment:production" \
  --period 24h \
  --limit 20 \
  --json --fields shortId,title,priority,level,status

Si la détection automatique ne résout pas org/project, passez-les explicitement :

sentry issue list {your-org}/{your-project} \
  --query "is:unresolved environment:production" \
  --period 24h \
  --limit 20 \
  --json

2) Résoudre un ID court de problème en détail du problème

sentry issue view {ABC-123} --json

Utilisez le format ID court (ex. ABC-123), pas l'ID numérique.

3) Détail du problème

sentry issue view {ABC-123}

4) Événements du problème

sentry issue events {ABC-123} --limit 20 --json

5) Détail de l'événement

sentry event view {your-org}/{your-project}/{event_id} --json

6) Analyse de la cause première alimentée par l'IA

sentry issue explain {ABC-123}

7) Plan de correction alimenté par l'IA

sentry issue plan {ABC-123}

Solution de secours : accès API arbitraire

Pour les points d'extrémité non couverts par des commandes CLI dédiées, utilisez sentry api :

sentry api /api/0/organizations/{your-org}/ --method GET

Utilisez sentry schema pour découvrir les points d'extrémité API disponibles :

sentry schema issues

Entrées et valeurs par défaut

  • org_slug, project_slug : détectés automatiquement par le CLI à partir des DSN, des variables d'environnement et des noms de répertoires. Remplacez avec {your-org}/{your-project} en position si la détection automatique échoue.
  • time_range : 24h par défaut (passé comme --period 24h).
  • environment : prod par défaut (passé comme partie de --query, ex. environment:production).
  • limit : 20 par défaut (passé comme --limit).
  • search_query : paramètre --query optionnel, utilise la syntaxe de recherche Sentry (ex. is:unresolved, assigned:me).
  • issue_short_id : utilisé directement avec sentry issue view.

Règles de formatage de sortie

  • Liste des problèmes : afficher titre, short_id, status, first_seen, last_seen, count, environments, top_tags ; trier par plus récent.
  • Détail de l'événement : inclure culprit, timestamp, environment, release, url.
  • Si aucun résultat, déclarez-le explicitement.
  • Supprimez les informations personnelles dans la sortie (e-mails, adresses IP). Ne pas imprimer les traces de pile brutes.
  • Ne jamais afficher les jetons d'authentification.

Entrées de test en or

  • Org : {your-org}
  • Projet : {your-project}
  • ID court du problème : {ABC-123}

Invite d'exemple : « Listez les 10 principaux problèmes ouverts pour prod au cours des dernières 24h. » Résultat attendu : liste ordonnée avec titres, ID courts, comptages, dernière vue.