Trigger.dev
Verbinden
Verbinde Trigger.dev aus dem Terminal. Mit --help siehst du die Flags, die Trigger.dev akzeptiert, dazu --no-browser für Umgebungen ohne Browser.
polylane cloud connect --provider triggerdevEin Umgebungs-Secret-Key, erstellt mit der Voreinstellung "No restrictions", von der API-Keys-Seite der Umgebung.
- Öffnen Sie in Trigger.dev die Seite API Keys der Umgebung und erstellen Sie einen Key mit der Voreinstellung "No restrictions".
- Fügen Sie den Key in Polylane ein und drücken Sie Connect. Der Key benennt sein Projekt und seine Umgebung selbst, es gibt also nichts weiter einzugeben.
Polylane erfasst die Umgebung, ihr Deployment, Tasks, Zeitpläne und Queues. Ein Task, der in Läufen vorkommt, aber in der aktuellen Version fehlt, bleibt auf der Karte und wird markiert. Keys werden verschlüsselt, und der Agent sieht sie nie.
Deploy- und Alert-Webhooks
Webhook-Alerts von Trigger.dev öffnen bei einem fehlgeschlagenen Lauf ein Issue und lösen Deployment-Alerts beim nächsten Erfolg auf. Ein Alert pro Umgebung:
- Legen Sie auf der Alerts-Seite der Umgebung einen Webhook-Alert mit der URL aus den Settings des Kontos unter Webhooks und den Ereignissen "Task run failure", "Deployment failure" und "Deployment success" an.
- Fügen Sie das Signing-Secret, das Trigger.dev einmalig zeigt, in dieselbe Webhooks-Karte ein.
Fehlerbehebung
"Polylane needs a key created with the 'No restrictions' preset"
- Keys mit Trigger only, Observer, Deploy only, Task operator und Variables only können nicht verwendet werden: Polylane liest die Identität des Projekts über einen Endpunkt, den nur ein "No restrictions"-Key aufrufen kann. Erstellen Sie einen "No restrictions"-Key auf der API-Keys-Seite der Umgebung und verbinden Sie ihn.
"Trigger.dev did not recognize this key"
- Prüfen Sie, ob der Key vollständig kopiert und nicht widerrufen wurde.
"Dev keys only work while trigger dev runs" und "Preview keys are per branch and not supported"
- Verwenden Sie einen prod- oder staging-Key.
Fehlende Ressourcen
- "Sync" im Kontokopf aktualisiert vor dem nächsten 15-Minuten-Lauf.
Trennen
Trennen Sie in Polylane und löschen Sie dann den Key auf der Seite API Keys der Umgebung.
Verbinde Trigger.dev aus einem CI-Job oder einer anderen Umgebung ohne Browser.
Für die Verbindung mit Trigger.dev braucht es keinen Browser: Derselbe Endpunkt, den die Konsole aufruft, passt in einen CI-Job. Ein authentifizierter POST erstellt die Verbindung und startet den ersten Sync.
Voraussetzungen
- Ein Polylane-API-Schlüssel mit den Scopes
cloud_accounts:writeundcloud_accounts:read. Siehe API-Schlüssel und OAuth. - Deine Workspace-ID, die mit
ws_beginnt. Lies sie mit demselben Schlüssel ausGET /v1/workspaces. - Ein Trigger.dev-Umgebungs-Secret-Key (
tr_prod_sk_…odertr_stg_sk_…) aus der prod- oder staging-Umgebung deines Projekts, unter API Keys. Erstelle ihn mit der Voreinstellung No restrictions: Polylane liest die Identität des Projekts über einen Endpunkt, den nur ein "No restrictions"-Key aufrufen kann, daher werden Keys mit Trigger only, Observer, Deploy only, Task operator und Variables only abgelehnt, ebenso dev- und preview-Keys.
Verbindung erstellen
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "triggerdev",
"workspaceId": "ws_0abc123",
"apiKey": "<environment-secret-key>"
}'
Der Key benennt sein Projekt und seine Umgebung selbst, und ein Key gehört zu genau einer Umgebung, ein Aufruf verbindet also eine Umgebung: ein prod-Key verbindet die Produktion, ein staging-Key verbindet Staging, jeweils als eigenes Konto. Das Senden eines Keys für eine bereits verbundene Umgebung ersetzt den Key des Kontos. Es gibt keinen Umgebungsschalter zu setzen. Eine Umgebung zu verbinden ist die Art, sie zu überwachen.
Die Antwort listet auf, was verbunden wurde, der erste Sync läuft bereits. Gekürzt auf die zwei Felder, die der Rest des Ablaufs liest:
{
"success": true,
"result": {
"provider": "triggerdev",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Ein Key, den die API ablehnt, landet in failures statt in accounts, mit der Meldung, die den Grund nennt; ein wiederholter Aufruf dupliziert also nie eine Verbindung.
Auf den ersten Sync warten
Frage jedes zurückgegebene Konto über seine id ab, bis status ready erreicht (new bei der Registrierung, syncing, während Ressourcen einlaufen):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Gib der Schleife eine Frist, damit ein fehlgeschlagenes Verbinden den Job fehlschlagen lässt, statt ihn hängen zu lassen. Sobald das Konto ready ist, sind seine Ressourcen in der Topologie, und Polylane hat seinen ersten Check gestartet.
Über die API trennen
Das Löschen der Verbindung stoppt jeden Sync und Check und löscht die Zugangsdaten, die Polylane gespeichert hatte. Der Aufruf braucht den Scope cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Widerrufe dann den Trigger.dev-Key auf Anbieterseite, wie unten unter Trennen beschrieben.
Trennen
Beim Trennen stoppen alle Syncs und Checks, und die Zugangsdaten, die Polylane gespeichert hatte, werden gelöscht. Polylane entfernt, was sich über die API von Trigger.dev entfernen lässt. Folgendes bleibt bestehen, bis du es selbst entfernst:
- Trigger.dev webhook alert
polylane cloud disconnect <id>Tools
5Operationen, die Agents in Threads ausführen können.
Unterstützte Ressourcen
5Ressourcentypen, die in deinem Infrastrukturgraphen erscheinen.