Nächtliche E2E-Tests in der Staging-Umgebung ausführen
Plane Devin so ein, dass deine End-to-End-Test-Suite jede Nacht gegen die Staging-Umgebung läuft und Tickets für fehlgeschlagene Tests erstellt.Diese Anleitung beschreibt die Verwaltung von Zeitplänen über die v3 API, was für Automatisierungs- und Infrastructure-as-Code-Workflows nützlich ist. Sie können Zeitpläne auch direkt in der Devin-Benutzeroberfläche erstellen und verwalten – ganz ohne API-Einrichtung.
Servicebenutzer für den API-Zugriff einrichten
Über die API erstellte geplante Sitzungen benötigen einen Service User mit den richtigen Berechtigungen. Sie richten ihn einmal ein und verwenden dann seinen API key in allen folgenden Aufrufen.Exportieren Sie beide Werte, damit die Befehle in dieser Anleitung wie angegeben funktionieren:Weitere Informationen zu Servicebenutzern und Berechtigungen finden Sie in der Dokumentation zur API-Authentifizierung.
- Gehen Sie zu app.devin.ai > Settings > Service Users und klicken Sie auf Create Service User
- Weisen Sie eine Rolle zu, die die Berechtigung
ManageOrgSchedulesenthält - Speichern Sie den nach der Erstellung angezeigten API key — er wird nur einmal angezeigt und Sie verwenden ihn als Ihren
Bearer-Token
Schreiben Sie ein Playbook für den Testlauf
Bevor Sie den Zeitplan erstellen, schreiben Sie ein Playbook, das Devin genau vorgibt, wie Ihre E2E-Suite auszuführen ist und was anschließend mit den Ergebnissen zu tun ist. Gehen Sie zu Settings > Playbooks und erstellen Sie ein neues Playbook – oder verwenden Sie Advanced Devin, um aus einer Beschreibung Ihres Testworkflows automatisch eines zu generieren. Hier ist ein Beispiel für eine Playwright-Suite:Notieren Sie sich die Playbook-ID nach dem Speichern – Sie benötigen sie für den API-Aufruf. Sie finden sie in der URL, wenn Sie das Playbook anzeigen (
app.devin.ai/.../playbooks/{playbook_id}).Richten Sie den nächtlichen Zeitplan über die API ein
Verwenden Sie nun den Endpoint Die Antwort enthält eine Das Feld
Warum 2 Uhr morgens? Sie möchten, dass Tests laufen, nachdem das letzte Deployment des Tages in der Staging-Umgebung stabil ist, aber früh genug, damit Fehler sichtbar sind, wenn Engineers mit der Arbeit beginnen. Passen Sie dies an die Zeitzone und Deployment-Frequenz Ihres Teams an.Siehe die Dokumentation zum Create‑Schedule‑Endpoint für alle verfügbaren Felder.
POST /v3/organizations/{org_id}/schedules, um den Zeitplan zu registrieren. In diesem Beispiel wird der Zeitplan jede Nacht um 2:00 Uhr UTC ausgeführt:schedule_id, die Sie später zur Verwaltung dieses Zeitplans verwenden. Speichern Sie sie:frequency verwendet die Standard-Cron-Syntax. Einige nützliche Alternativen:| Pattern | When it runs |
|---|---|
0 2 * * * | Jeden Tag um 2 Uhr morgens UTC |
0 2 * * 1-5 | Nur an Wochentagen (Mo–Fr) |
0 6 * * 1 | Jeden Montag um 6 Uhr morgens UTC |
Überprüfen Sie den ersten Lauf und verfeinern Sie den Prompt
Nachdem der Zeitplan das erste Mal ausgelöst wurde, überprüfe die Session, um sicherzustellen, dass Devin die Tests korrekt ausgeführt hat und die Ausgabe deinen Erwartungen entspricht.
- Öffne das Devin-Dashboard und suche die Session unter Past Sessions – sie ist mit dem Namen des Zeitplans getaggt.
- Wurde die Playwright-Suite ausgeführt? Wurden Linear-Tickets für tatsächliche Fehler (nicht für flaky Tests) erstellt?
- Überprüfe den
#qa-resultsSlack-Channel auf die Zusammenfassungsnachricht.
- Devin kann nicht auf Staging zugreifen: Füge deine Staging-Umgebungsvariablen (wie
STAGING_API_KEYoderDATABASE_URL) als organization secrets hinzu, damit sie in jeder geplanten Session verfügbar sind. - Zu viele Tickets durch flaky Tests: Füge deinem Playbook einen Retry hinzu: “Führe jeden fehlgeschlagenen Test einmal erneut aus, bevor du ein Ticket erstellst. Erstelle nur Tickets für Tests, die zweimal fehlschlagen.”
- Tests dauern zu lange: Schränke den Umfang der Suite ein – z. B. “Führe nur Tests in
tests/critical/undtests/smoke/aus” – oder erhöhe das Session-Timeout.
Zeitpläne als Code verwalten
Sobald Ihr nächtlicher Durchlauf stabil ist, sollten Sie ihn gemeinsam mit Ihren anderen Zeitplänen verwalten — ihn während Deployment-Freezes pausieren, den Prompt aktualisieren, wenn sich Ihre Testsuite ändert, oder einen zweiten Zeitplan für eine andere Umgebung einrichten.Pausieren Sie den Zeitplan während eines Deployment-Freezes oder Wartungsfensters:Aktiviere es wieder, sobald der Freeze endet:Alle Zeitpläne auflisten, um zu prüfen, was aktuell läuft:Für Teams, die mehrere Zeitpläne verwalten müssen, können Devin bitten, ein CLI-Tool zu erstellen, das Zeitplandefinitionen aus einer YAML-Konfigurationsdatei synchronisiert — sodass Sie Ihre Zeitpläne zusammen mit Ihrer Testkonfiguration unter Versionskontrolle stellen können:
