Skip to main content

Überblick

Sentry ist eine offizielle MCP-Integration, die im MCP Marketplace verfügbar ist. Sie verwendet die OAuth-Authentifizierung und gibt Devin Zugriff auf Ihre Sentry-Projekte, damit Devin Issue-Details, Stack-Traces, Event-Breadcrumbs und mehr abfragen kann. Nach dem Verbinden können Sie über Webhooks eine automatisierte Fehlertriage einrichten oder wiederkehrende Sitzungen zur Fehlerbehebung planen, die Sentry-Fehler stapelweise verarbeiten.

Sentry MCP aktivieren

1

Den MCP Marketplace öffnen

Gehen Sie zu Settings > MCP Marketplace und suchen Sie nach Sentry.
2

Den OAuth-Prozess abschließen

Klicken Sie auf Enable und authentifizieren Sie sich mit dem Sentry-Konto, das Zugriff auf Ihre Projekte hat. Dadurch erhält Devin Lesezugriff auf Ihre Sentry-Issues, Ereignisse und Stacktraces.
3

Die Verbindung überprüfen

Testen Sie die Verbindung, indem Sie eine Sitzung starten und Devin bitten, aktuelle Issues in einem Ihrer Projekte aufzulisten. Sie können auch im MCP Marketplace auf Test listing tools klicken, um die Verbindung zu bestätigen.

Funktionen

Sobald das Sentry MCP aktiviert ist, kann Devin in jeder Sitzung die folgenden Aktionen ausführen:
FunktionBeschreibung
Issue-Details abfragenIssue-Metadaten, Status, Zuweisung und Anzahl der Ereignisse anzeigen
Vollständige Stacktraces abrufenAuf vollständige Stacktraces für jedes Ereignis zugreifen
Event-Breadcrumbs einsehenBenutzeraktionen und Systemereignisse anzeigen, die zu einem Fehler geführt haben
Release-Tags prüfenPrüfen, durch welches Release ein Issue eingeführt oder behoben wurde
Issue-Status aktualisierenIssues als behoben oder ignoriert markieren oder Teammitgliedern zuweisen
Zuweisungen und Tags verwaltenIssue-Zuweisungen, Tags und Lesezeichen aktualisieren
Alarme konfigurierenAlarmregeln und Benachrichtigungseinstellungen anzeigen und verwalten

Auto-Triage-Pipeline (Webhook-gesteuert)

Sie können Sentry-Benachrichtigungen direkt mit Devin verbinden, sodass neue Fehler in der Produktion automatisch triagiert werden. Dazu wird eine Sentry Internal Integration verwendet, die Webhooks an einen Bridge-Service sendet, der die Devin API aufruft.
1

Eine Sentry Internal Integration erstellen

Gehen Sie in Ihrem Sentry-Dashboard zu Settings > Developer Settings > Custom Integrations und klicken Sie auf Create New Integration > Internal Integration.Konfigurieren Sie sie:
  • Name: Devin Auto-Triage
  • Webhook URL: Der Endpunkt Ihres Bridge-Service (z. B. https://your-domain.com/sentry-webhook)
  • Alert Rule Action: Auf on setzen — dadurch wird die Integration als Aktion in Alert-Regeln verfügbar
  • Permissions: Lesezugriff auf Issue & Event und Project
2

Eine Alert-Regel erstellen

Gehen Sie für Ihr Projekt zu Alerts > Create Alert Rule > Issue Alert:
  • When: Ein neues Issue wird erstellt
  • If: Das Issue hat mehr als 50 Ereignisse in 1 Stunde (an Ihr Traffic-Aufkommen anpassen)
  • Then: Eine Benachrichtigung über Devin Auto-Triage senden
3

Einen Webhook-Handler bereitstellen

Erstellen Sie einen kleinen Handler, der die Alert-Payload von Sentry empfängt und eine Devin-Sitzung startet. Erstellen Sie einen Service-Benutzer in Settings > Service Users mit der Berechtigung ManageOrgSessions (fügen Sie auch ViewOrgSessions hinzu, wenn Sie Sitzungen über die API auflisten oder filtern möchten). Speichern Sie das API-Token als DEVIN_API_KEY, Ihre Organizations-ID als DEVIN_ORG_ID und das Client Secret Ihrer Sentry Internal Integration als SENTRY_CLIENT_SECRET in der Umgebung Ihres Handlers.
const express = require('express');
const crypto = require('crypto');
const app = express();
app.use(express.json({
  verify: (req, _res, buf) => { req.rawBody = buf; },
}));

function verifySignature(req) {
  const signature = req.headers['sentry-hook-signature'];
  if (!signature) return false;
  const expected = crypto
    .createHmac('sha256', process.env.SENTRY_CLIENT_SECRET)
    .update(req.rawBody)
    .digest('hex');
  if (signature.length !== expected.length) return false;
  return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}

app.post('/sentry-webhook', async (req, res) => {
  if (!verifySignature(req)) return res.status(401).send('Bad signature');

  const event = req.body.data?.event;
  if (!event) return res.sendStatus(200);

  const orgId = process.env.DEVIN_ORG_ID;
  const response = await fetch(
    `https://api.devin.ai/v3/organizations/${orgId}/sessions`, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.DEVIN_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      prompt: [
        `A Sentry alert fired for a new issue: "${event.title}"`,
        `Culprit: ${event.culprit}`,
        `Sentry URL: ${event.web_url}`,
        ``,
        `Use the Sentry MCP to pull the full stack trace and breadcrumbs.`,
        `Identify the root cause, fix the issue, and open a PR with a`,
        `regression test.`,
      ].join('\n'),
      tags: ['sentry-auto-triage', `project:${event.project}`],
    }),
  });

  const { session_id } = await response.json();
  console.log(`Started Devin session ${session_id} for: ${event.title}`);
  res.sendStatus(200);
});

app.listen(3000);
Stellen Sie dies überall bereit, wo HTTPS-Traffic empfangen werden kann — etwa in einem Cloudflare Worker, in AWS Lambda oder auf einem kleinen VPS. Verweisen Sie dann die Webhook-URL Ihrer Sentry Internal Integration darauf.
4

Die Pipeline testen

Lösen Sie in Sentry einen Test-Alert aus (oder senken Sie Ihren Schwellenwert vorübergehend) und prüfen Sie dann in app.devin.ai, ob eine neue Sitzung mit dem Tag sentry-auto-triage vorhanden ist.
Der obige Code versieht jede Sitzung mit dem Tag sentry-auto-triage und dem Namen des Sentry-Projekts. So können Sie diese Sitzungen im Devin-Dashboard filtern und über die API abrufen, indem Sie den Query-Parameter tags verwenden. Zum Auflisten von Sitzungen ist für Ihren Service-Benutzer die Berechtigung ViewOrgSessions erforderlich — in der API-Übersicht finden Sie die vollständige Berechtigungstabelle.

Geplante Batch-Fehlerbehebung

Anstatt auf einzelne Alerts zu reagieren, kannst du eine wiederkehrende Devin-Sitzung planen, die ungelöste Sentry-Fehler gesammelt abruft und für jeden Fehler eine eigene Behebungs-Sitzung startet.
1

Zeitplan erstellen

Gehe zu Settings > Schedules und klicke auf Create schedule.
  • Name: Tägliche Sentry-Fehlerbehebung
  • Frequency: Täglich um 6:00 Uhr (damit die Fix-PRs vor dem Stand-up bereit sind)
  • Agent: Devin — damit kann Devin für jeden Fehler eine separate Sitzung starten, sodass die Fehlerbehebungen parallel laufen
  • Prompt:
Verwende den Sentry MCP, um alle ungelösten Fehler aus den vergangenen
24 Stunden im Projekt payments-api abzurufen, sortiert nach Ereignisanzahl.
Überspringe Fehler mit dem Tag `wontfix` oder `expected-behavior`.

Für die 5 wichtigsten Fehler:
1. Rufe den vollständigen Stack-Trace und die Breadcrumbs ab
2. Finde die relevanten Quelldateien in unserem Repo
3. Identifiziere die Grundursache
4. Starte eine Devin-Sitzung, um eine PR mit einer Fehlerbehebung und einem Regressionstest
   zu erstellen, und verlinke die Sentry-Issue-URL in der PR-Beschreibung

Veröffentliche eine Zusammenfassung aller Fehler und ihrer PRs in Slack.
2

Prüfen und iterieren

Passe nach einer Woche Laufzeit den Geltungsbereich an:
  • Erhöhe oder verringere die Anzahl der Fehler je nachdem, wie viele Fehlerbehebungen zusammengeführt werden können
  • Filtere nach Projekt oder Tag, um dich auf bestimmte Bereiche deiner Codebasis zu konzentrieren
  • Füge Knowledge hinzu zu euren Konventionen für die Fehlerbehandlung, damit Devins Fehlerbehebungen zu den Mustern deines Teams passen
Kombiniere webhook-gesteuerte Triage für Fehler mit hoher Auswirkung (50+ Ereignisse/Stunde) mit geplanter Batch-Fehlerbehebung für den Long Tail seltenerer Probleme. So wird sichergestellt, dass sowohl dringende als auch wiederkehrende Fehler bearbeitet werden.