Eseguire un comando nell'area di lavoro
Un comando bash nella directory principale del progetto, su una copia di lavoro della bozza nel container del sito: rg, grep, sed, find, cat, node. La build del progetto viene rifiutata (400): workspace:commit invia i file agli stessi controlli previsti per ogni modifica e avvia la build effettiva, i cui errori vengono segnalati da getSiteBuild. Nessuna rete, massimo 300 s. I file modificati restano non sottoposti a commit (elencati in uncommitted) fino a workspace:commit. L'area di lavoro segue la bozza: un'altra modifica mantiene le tue modifiche non sottoposte a commit.
POST/v1/sites/{site_id}/workspace:run
Richiede sites:write. Non costa crediti. Il percorso termina con /workspace:run.
L’area di lavoro è una shell su una copia di lavoro della bozza del sito, nel container dedicato del sito, senza connessione alla rete. Usala per le operazioni in cui una shell è più efficace: rg, grep, find, cat, sed -i, node e npx astro build per provare una build in pochi secondi. Il comando viene eseguito nella directory principale del progetto con un utente senza privilegi e senza accesso alla rete.
Le modifiche apportate dal comando restano senza commit. La risposta elenca queste modifiche in uncommitted, una per riga, nel formato di git status (M src/pages/index.astro). Nulla entra nella cronologia finché non esegui il commit dell’area di lavoro, e i visitatori non vedono nulla finché non pubblichi.
command può contenere al massimo 8000 caratteri. timeout_ms può variare da 1000 a 300000 e il valore predefinito è 60000: se il comando è ancora in esecuzione allo scadere del tempo, viene interrotto e timed_out assume il valore true. Un comando che non va a buon fine non genera un errore API: la chiamata riesce e exit_code è diverso da 0. output contiene insieme stdout e stderr; oltre gli 8 KB conserva l’inizio e la fine e truncated assume il valore true.
L’area di lavoro segue la bozza. Se un’altra modifica ha aggiornato la bozza dall’ultimo comando, le modifiche non ancora sottoposte a commit vengono mantenute e note lo segnala. Lo stesso avviene se è stato necessario ricreare l’area di lavoro.
Un sito ancora in fase di creazione risponde con result_not_ready, mentre un sito sospeso o in fase di eliminazione risponde con conflict.
Autorizzazioni
Authorizationbearerin headerrequiredParametri di percorso
site_idstringrequiredL'ID del sito o il suo slug (l'indirizzo prima di .atelier201.page).
Corpo
application/jsonrequiredcommandstringrequiredlength: 1–8000 charsUn comando bash eseguito nella directory principale del progetto, su una copia di lavoro della bozza: rg, grep, sed, find, cat, node... Nessuna rete. I file modificati restano non sottoposti a commit fino a workspace:commit, che li compila e segnala eventuali errori di build. Qui la build del progetto viene rifiutata: richiedeva 30 s e duplicava quella build.
timeout_msintegerrange: 1000–300000Valore predefinito: 60000. Il comando viene interrotto allo scadere.
Risposta
Esegui un comando shell nell'area di lavoro del sito
dataobjectrequiredrequest_idstringrequiredCodici possibili: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCodici possibili: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_scope, feature_not_available, admin_required
errorobjectrequiredrequest_idstringrequiredCodici possibili: resource_not_found
errorobjectrequiredrequest_idstringrequiredCodici possibili: conflict, result_not_ready, idempotency_key_reused
errorobjectrequiredrequest_idstringrequiredCodici possibili: result_expired
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large_for_plan
errorobjectrequiredrequest_idstringrequiredCodici possibili: rate_limited
errorobjectrequiredrequest_idstringrequiredCodici possibili: internal_error
errorobjectrequiredrequest_idstringrequiredCodici possibili: service_unavailable
errorobjectrequiredrequest_idstringrequired