Issue et event se confondent
Le groupe devient l’occurrence ; fréquence, première apparition et liaison au ticket perdent leur sens.
Une issue Sentry n’est ni une occurrence brute, ni automatiquement un incident métier. Dawap construit l’intégration autour de l’organisation et du projet, de l’identité issue–event–release, des droits réellement nécessaires et de la preuve attendue par le développement, le support et le run.
Réponse courte
Dawap relie issues, events, releases, commits, deploys et tickets en fixant le domaine API, le type de token, les scopes et les identifiants qui font foi. Le grouping, la pagination et les limites sont testés avant toute automatisation de statut. Aucun projet client public n’est présenté comme une intégration Sentry déjà livrée : les références plus bas prouvent seulement des pratiques adjacentes de monitoring, delivery et reprise.
Le contexte avant le ticket
Ce dossier relie le groupe, une occurrence témoin, les artefacts du build et le déploiement. Il expose aussi ce qui manque avant de créer un ticket.
Le SHA est figé avant compilation.
Debug ID et dist correspondent.
L’environnement porte la même release.
Fichier et ligne sont exploitables.
Signaux de triage
Le titre visible ne suffit pas : le groupe, l’occurrence et la release doivent rester trois identités reliées mais distinctes.
Le groupe devient l’occurrence ; fréquence, première apparition et liaison au ticket perdent leur sens.
SDK, CI, deploy et source maps ne partagent pas exactement la même version ou le même dist.
Un fingerprint instable fabrique plusieurs issues et déclenche autant d’effets aval.
Architecture Sentry API
La Web API Sentry, l’ingestion SDK et le delivery ne portent pas les mêmes responsabilités. Le connecteur fixe leur frontière, évite les endpoints obsolètes, réduit les droits et rend chaque lecture ou mutation explicable.
Le client utilise /api/0/ sur sentry.io ou le domaine régional de l’organisation, par exemple us.sentry.io ou de.sentry.io. Domaine, organisation et projet sont contrôlés ensemble ; un succès sur un autre périmètre ne vaut pas preuve.
Le DSN identifie un projet pour une surface d’ingestion limitée. Les lectures et mutations de la Web API demandent un token Bearer : intégration interne pour un besoin organisationnel, jeton utilisateur si le contexte utilisateur est indispensable, ou OAuth pour une application tierce.
event:read suffit au pilote de triage ; event:write ou event:admin ne sont ouverts que pour une mutation justifiée. Les workflows de release peuvent demander org:ci ou project:releases. Secret, expiration, rotation et révocation restent hors du code.
Une issue agrège des événements. issue_id, shortId et event_id restent distincts ; fingerprint, hashes et version de grouping expliquent pourquoi des occurrences se rassemblent ou se séparent. Le titre visible ne devient jamais une clé de corrélation.
La version de release doit être identique entre SDK, pipeline, commits, deploys et fichiers de debug. Une même version partagée par plusieurs projets d’une organisation désigne la même release ; le nommage inclut donc le bon périmètre lorsque nécessaire.
Les collections suivent le Link header jusqu’à rel="next" avec results="false". Les limites par appelant et endpoint, y compris la concurrence, sont lues dans les en-têtes ; un 429 ou une page manquante produit partial, jamais zéro.
Méthode
Le pilote part d’une issue non critique comprise par l’équipe. Il contrôle son périmètre, parcourt les occurrences, reconstitue release et ownership, vérifie couverture et données sensibles, puis compare le dossier à la lecture humaine. Les écritures Sentry ou ticketing restent fermées tant que l’identité, le grouping ou la pagination peuvent mentir.
Région, organisation, projet, token et scopes sont explicites.
issue_id, event_id et fingerprint restent corrélés.
Build, SDK, commits, deploy et artefacts partagent la version.
Stack lisible, owner et couverture permettent la décision.
Premier lot Sentry
On choisit un projet et un environnement de recette. Avec un accès en lecture seule, le flux retrouve une issue, parcourt ses événements, rattache release, commit, deploy et owner disponibles, puis prépare un dossier de triage sans modifier Sentry ni créer de ticket. Le lot reste bloqué si le projet est ambigu, si la version ne correspond pas ou si la lecture est partielle.
Sorties concrètes
Matrice région × organisation × projet × environnement × type de token × scope × équipe responsable.
Contrat référence interne–issue_id–event_id–release–dist–deploy–fingerprint–owner–liaison externe.
Recette projet homonyme, release divergente, source map absente, regroupement modifié, page suivante oubliée, 401, 403 et 429.
Journal expurgé, Link parcourus, nombre lu, événement témoin, chronologie de release, limites résiduelles et verdict signé.
Scénarios de recette, non résultats client
Ces scénarios décrivent les preuves exigées sur le pilote. Ils ne sont pas présentés comme des résultats client Sentry déjà obtenus par Dawap.
Le pipeline publie frontend@a1b2c3, tandis que le SDK envoie a1b2c3 ou un dist différent. Les fichiers de debug sont présents sous une autre référence : Sentry reçoit bien l’événement, mais l’équipe ne retrouve ni fichier ni ligne exploitable.
Un champ variable entre dans le fingerprint après une release. Chaque occurrence forme une nouvelle issue, le connecteur crée plusieurs tickets et la volumétrie semble exploser alors que la cause applicative reste unique.
Le collecteur conserve la recherche implicite is:unresolved, ignore le Link suivant ou atteint la limite de concurrence. Des issues résolues, régressées ou plus anciennes sortent du résultat, mais le dashboard publie une baisse artificielle.
Chaîne de qualité applicative
Sentry collecte et groupe les signaux applicatifs ; le delivery, l’astreinte et l’ITSM conservent leurs propres décisions. Ces pages bornent les responsabilités voisines.
Questions d’achat
Questions fréquentes sur Sentry API, cadrage, connecteur, sécurité, webhooks, quotas et run.
Selon les droits et endpoints disponibles : lecture et qualification des issues et événements, association de releases, commits et deploys, liens vers des tickets, owners, statuts ou reporting. Nous séparons chaque parcours, son autorité et sa preuve de sortie.
Le DSN identifie un projet pour transmettre de la télémétrie sur une surface limitée. Les opérations de la Web API utilisent un token Bearer. Nous choisissons intégration interne, jeton utilisateur ou OAuth selon le cas, avec les scopes minimaux.
Un event est une occurrence ; une issue est le groupe auquel Sentry rattache des événements selon ses règles de grouping et leurs fingerprints. issue_id, event_id, hashes et liens externes doivent rester distincts.
La même version doit être propagée dans le SDK, la CI, les commits, le deploy et les artefacts de debug. Nous vérifions cette chaîne avec un événement post-déploiement ; créer la release ne suffit pas à prouver une stack exploitable.
Le flux conserve la liaison issue–ticket, relit les liens existants et rapproche toute réponse inconnue avant un nouveau create. Une rupture de grouping suspend l’automatisation au lieu de masquer les nouveaux groupes.
Le collecteur suit le Link header jusqu’à results="false", mesure les limites de fréquence et de concurrence, puis publie complete, partial ou failed. Aucun statut ni indicateur de zéro n’est produit à partir d’une lecture incomplète.
API DevOps, ITSM & observabilité
Dawap peut cadrer une issue témoin, prouver identité, release, grouping et couverture, puis ouvrir progressivement ticketing ou synchronisation de statut avec une reprise explicable.
Cadrer mon intégration Sentry