Panoramica
.devin/blueprint.yaml. Sincronizzi il file con Devin tramite l’API o la UI, quindi attivi una snapshot build per applicare le modifiche.
In questo modo hai lo stesso flusso di lavoro che usi per il codice dell’applicazione: modifichi nell’IDE, apri una pull request, ottieni una review, fai il merge e poi sincronizzi + avvii la build tramite un passaggio CI o dalla UI.
| Approccio | Dove si trova il blueprint | Come lo modifichi | Come vengono applicate le modifiche |
|---|---|---|---|
| Database (predefinito) | interfaccia Settings di Devin | Modifica nel Browser | Salvato immediatamente al clic |
| Supportato da Git | .devin/blueprint.yaml nella tua repo | Modifica nel tuo IDE, fai il merge di una PR | Chiama l’API di sincronizzazione (o fai clic su Sync nella UI), quindi attiva una build |
I blueprint supportati da Git usano lo stesso formato YAML dell’editor della UI. Consulta il riferimento del blueprint per la specifica completa dei campi.
Guida introduttiva
1. Crea il file blueprint
.devin/blueprint.yaml nella directory principale del tuo repository:
2. Esegui il push al branch predefinito
.devin/blueprint.yaml nel branch predefinito del tuo repository (in genere main o master).
Se il repository è già connesso all’ambiente di Devin, devi avviare una sincronizzazione (tramite l’API o il pulsante Sync dell’UI) affinché Devin rilevi il file. Se stai aggiungendo la repo per la prima volta, il processo di discovery iniziale legge il blueprint da Git.
3. Verifica nella UI
Come funziona la sincronizzazione
.devin/blueprint.yaml dal commit HEAD del branch predefinito della repo e nell’aggiornare le versioni del blueprint archiviate da Devin. La sincronizzazione non avviene automaticamente al push: devi attivarla esplicitamente:
- Sincronizzazione tramite API — Chiama l’endpoint di sincronizzazione v3 (vedi Sincronizzazione tramite l’API di seguito). È l’approccio consigliato per le pipeline CI/CD.
- Sincronizzazione tramite UI — Fai clic sul pulsante Sync nel blueprint editor. Se il contenuto è cambiato, questo attiva anche uno snapshot build.
- Quando aggiungi una repo all’ambiente — Se
.devin/blueprint.yamlesiste nel branch predefinito, il blueprint viene recuperato automaticamente da Git durante la fase iniziale di discovery.
Sync vs. build
- Sync recupera l’ultima versione di
.devin/blueprint.yamlda Git e salva una nuova versione del blueprint. - Build crea una nuova immagine snapshot a partire dalle versioni correnti del blueprint.
Sincronizzazione tramite l’API
.devin/blueprint.yaml. In genere, questa operazione viene eseguita da una pipeline CI/CD (ad es. come passaggio post-merge di GitHub Actions).
Flusso completo
Passaggio 1: sincronizza il blueprint
.devin/blueprint.yaml dal branch predefinito:
repo_name accetta owner/repo per GitHub oppure un URL completo del provider per altri host (ad es. https://gitlab.com/org/repo).
Passaggio 2: Avvia una build snapshot
Passaggio 3: Monitora lo stato della build (facoltativo)
status passa attraverso i seguenti stati: running → succeeded oppure failed.
Sincronizzazione a livello di Enterprise
Esempio: flusso di lavoro GitHub Actions
Ti serve un utente di servizio o un token di accesso personale con autorizzazioni di scrittura per l’ambiente. Salva il token come
DEVIN_API_TOKEN e l’ID della tua org come DEVIN_ORG_ID nei secret del repository.Modificare i blueprint supportati da Git
Crea una PR dall’editor
- Apri l’editor dei blueprint in Settings > Environment > Blueprints
- Modifica il file YAML nell’editor
- Fai clic su Create PR
- Devin apre una pull request nel tuo repository che aggiorna
.devin/blueprint.yaml - Rivedi, approva ed esegui il merge della PR
- La sincronizzazione successiva rileva la modifica e attiva una build
Modifica direttamente nel tuo repository
- Modifica
.devin/blueprint.yamlnel tuo IDE o sul tuo provider Git - Esegui il commit e il push sul branch predefinito (oppure apri una PR ed esegui il merge)
- Avvia una sincronizzazione tramite l’API o fai clic su Sync nella UI
Suggerimenti di Devin
.devin/blueprint.yaml, anziché salvarlo direttamente nel database. La PR viene quindi esaminata e integrata proprio come qualsiasi altra modifica al codice.
Monorepo e workspace
includes per definire blueprint separati per ciascun workspace. Ogni workspace ha il proprio file .devin/blueprint.yaml nella relativa sottodirectory.
Blueprint radice con include
.devin/blueprint.yaml dichiara quali workspace hanno blueprint propri:
Blueprint dei workspace
.devin/blueprint.yaml:
Regole per gli include
- Ogni voce in
includesè il percorso di una sottodirectory (ad es.packages/frontend). Devin cerca.devin/blueprint.yamlall’interno di quella directory. - Puoi anche usare il percorso completo:
packages/frontend/.devin/blueprint.yaml. - Solo il blueprint radice può contenere
includes. Gli include annidati (ovvero un blueprint incluso che a sua volta dichiaraincludes) non sono consentiti. - Ogni percorso di workspace può comparire una sola volta in
includes. - Se un file incluso non è presente nel repository, quel workspace viene considerato rimosso e il relativo blueprint viene eliminato.
Passaggio tra la modalità Git e quella database
Passa a Git
- Crea
.devin/blueprint.yamlnel repository con il contenuto desiderato - Esegui il push nel branch predefinito
- Nell’editor del blueprint, fai clic sul menu a discesa della sorgente e seleziona il provider Git desiderato (ad es. “GitHub”)
- Devin sincronizza il file da Git e passa alla modalità basata su Git
Passa al database
- Nel blueprint editor, fai clic sul menu a discesa della sorgente e seleziona Database
- Il contenuto attuale viene mantenuto, ma i futuri push a
.devin/blueprint.yamlnon aggiorneranno più il blueprint - Ora puoi modificare e salvare direttamente nella UI
Workspace scollegati
Cronologia delle versioni
- Sorgente:
git_syncper le versioni create dalla sincronizzazione,manualper le versioni create nell’interfaccia utente - Commit SHA: il commit del branch predefinito su cui è stata eseguita la sincronizzazione (collegamento al commit nel tuo provider Git)
YAML multidocumento
.devin/blueprint.yaml supporta YAML multidocumento tramite il separatore ---. Questo ti consente di definire configurazioni specifiche della piattaforma in un unico file:
Risoluzione dei problemi
Il Blueprint non si sincronizza
- Il file si trova nel percorso corretto? Deve essere
.devin/blueprint.yamlnella directory radice del repository (o<workspace>/.devin/blueprint.yamlper i workspace inclusi). - Hai avviato una sincronizzazione? La sincronizzazione non avviene automaticamente al push. Chiama l’endpoint API di sincronizzazione oppure fai clic sul pulsante Sync nella UI.
- Il repository è nell’ambiente di Devin? Il repo deve essere aggiunto in Settings > Environment > Blueprints perché la sincronizzazione venga eseguita.
- La modalità basata su Git è abilitata? Il blueprint deve essere in modalità basata su Git (non in modalità database) perché la sincronizzazione lo aggiorni.
Errori di YAML non valido
.devin/blueprint.yaml contiene YAML non valido o non è conforme allo schema del blueprint, la sincronizzazione non va a buon fine e restituisce un errore. Correggi il file nel branch predefinito e sincronizza di nuovo. L’editor dei blueprint nella UI convalida lo schema e mostra gli errori prima che tu apra una PR, aiutandoti a individuare i problemi prima che arrivino nel branch predefinito.
Blueprint mostra “Database” dopo il push
.devin/blueprint.yaml ma l’Editor continua a mostrare “Database” come sorgente, è possibile che il blueprint non sia ancora passato alla modalità basata su Git. Usa il menu a discesa della sorgente per passare al tuo provider Git, attivando così la sincronizzazione iniziale.
