Trigger.dev
Collega
Collega Trigger.dev dal terminale. Passa --help per vedere i flag che Trigger.dev accetta, più --no-browser per gli ambienti headless.
polylane cloud connect --provider triggerdevUna chiave segreta di ambiente creata con il preset "No restrictions", dalla pagina API Keys dell'ambiente.
- In Trigger.dev, apri la pagina API Keys dell'ambiente e crea una chiave con il preset "No restrictions".
- Incolla la chiave in Polylane e premi Connect. La chiave nomina da sé il suo progetto e il suo ambiente, quindi non c'è altro da digitare.
Polylane mappa l'ambiente, il suo deployment, task, pianificazioni e code. Un task visto nelle esecuzioni ma assente dalla versione corrente resta sulla mappa e viene segnalato. Le chiavi sono cifrate e l'agente non le vede mai.
Webhook di deployment e avviso
Gli avvisi webhook di Trigger.dev aprono un problema quando un'esecuzione fallisce e risolvono gli avvisi di deployment al successo seguente. Un avviso per ambiente:
- Nella pagina Alerts dell'ambiente, aggiungi un avviso webhook con l'URL dalle Settings dell'account, sotto Webhooks, e gli eventi "Task run failure", "Deployment failure" e "Deployment success".
- Incolla il segreto di firma che Trigger.dev mostra una sola volta nella stessa scheda Webhooks.
Risoluzione dei problemi
"Polylane needs a key created with the 'No restrictions' preset"
- Le chiavi Trigger only, Observer, Deploy only, Task operator e Variables only non possono essere usate: Polylane legge l'identità del progetto tramite un endpoint che solo una chiave "No restrictions" può chiamare. Crea una chiave "No restrictions" nella pagina API Keys dell'ambiente e collegala.
"Trigger.dev did not recognize this key"
- Verifica che la chiave sia stata copiata per intero e non sia stata revocata.
"Dev keys only work while trigger dev runs" e "Preview keys are per branch and not supported"
- Usa una chiave prod o staging.
Risorse mancanti
- "Sync" nell'intestazione dell'account aggiorna prima del passaggio successivo di 15 minuti.
Scollegamento
Scollega in Polylane, poi elimina la chiave nella pagina API Keys dell'ambiente.
Collega Trigger.dev da un job CI o da qualsiasi altro ambiente senza browser.
Collegare Trigger.dev non richiede un browser: lo stesso endpoint che chiama la console sta in un job CI. Una sola POST autenticata crea il collegamento e avvia la prima sincronizzazione.
Prerequisiti
- Una chiave API Polylane con gli scope
cloud_accounts:writeecloud_accounts:read. Vedi Chiavi API e OAuth. - L'ID del tuo workspace, che inizia con
ws_. Leggilo daGET /v1/workspacescon la stessa chiave. - Una chiave segreta di ambiente Trigger.dev (
tr_prod_sk_…otr_stg_sk_…) dall'ambiente prod o staging del tuo progetto, sotto API Keys. Creala con il preset No restrictions: Polylane legge l'identità del progetto tramite un endpoint che solo una chiave "No restrictions" può chiamare, quindi le chiavi Trigger only, Observer, Deploy only, Task operator e Variables only vengono rifiutate, così come le chiavi dev e preview.
Crea il collegamento
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>"
}'
La chiave nomina da sé il suo progetto e il suo ambiente, e una chiave appartiene esattamente a un ambiente, quindi una sola chiamata collega un ambiente: una chiave prod collega la produzione e una chiave staging collega lo staging, ciascuno come account a sé. Inviare una chiave per un ambiente già collegato sostituisce la chiave dell'account. Non c'è un interruttore di ambiente da impostare. Collegare un ambiente è il modo in cui scegli di osservarlo.
La risposta elenca ciò che è stato collegato, con la prima sincronizzazione già in corso. Ridotta ai due campi che il resto del flusso legge:
{
"success": true,
"result": {
"provider": "triggerdev",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Una chiave che l'API rifiuta finisce in failures invece che in accounts, con il messaggio che spiega perché, quindi ripetere la chiamata non duplica mai un collegamento.
Attendi la prima sincronizzazione
Interroga ogni account restituito tramite il suo id finché status non raggiunge ready (new alla registrazione, syncing mentre le risorse arrivano):
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
Dai al ciclo una scadenza, così un collegamento fallito fa fallire il job invece di bloccarlo. Una volta che l'account è ready, le sue risorse sono nella topologia e Polylane ha avviato il suo primo controllo.
Scollega dall'API
Eliminare il collegamento interrompe ogni sincronizzazione e ogni controllo ed elimina le credenziali che Polylane conservava. La chiamata richiede lo 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"
Poi revoca la chiave Trigger.dev sul lato del provider, come descritto sotto Scollega qui sotto.
Scollega
Scollegare interrompe ogni sincronizzazione e ogni controllo ed elimina le credenziali che Polylane conservava. Polylane rimuove ciò che l'API di Trigger.dev gli permette di rimuovere. Quanto segue resta finché non lo rimuovi tu:
- Trigger.dev webhook alert
polylane cloud disconnect <id>Strumenti
5Operazioni che gli agenti possono eseguire nei thread.
Risorse supportate
5Tipi di risorsa che compaiono nel grafo della tua infrastruttura.