Skip to main content
L’API Code Scans consente di avviare scansioni, monitorarne lo stato e leggere i risultati senza usare la web app. Ogni operazione è disponibile in due ambiti, secondo la stessa distinzione tra organizzazione ed enterprise adottata dal resto dell’API v3:
  • Organizzazione (/v3/organizations/{org_id}/code-scans/...) opera su una singola organizzazione e richiede l’autorizzazione a livello di organizzazione UseCodeScans (scrittura) o ViewCodeScans (lettura).
  • Enterprise (/v3/enterprise/...) copre tutte le organizzazioni dell’enterprise e richiede l’autorizzazione a livello enterprise UseAccountCodeScans (scrittura) o ViewAccountCodeScans (lettura). Gli endpoint per la creazione delle scansioni e la correzione richiedono comunque un org_id nel percorso, perché una scansione appartiene a una sola organizzazione.
Entrambi gli ambiti si autenticano con una API key di un utente di servizio o un token di accesso personale e condividono la stessa struttura di richieste e risposte.

Endpoint

Le stesse operazioni sono disponibili anche nei percorsi /v3beta1/..., con strutture di richiesta e risposta identiche. La tabella copre il flusso di lavoro delle scansioni; la specifica OpenAPI v3 espone inoltre la pianificazione di Auto Scan (POST .../code-scans/{scan_id}/auto-scan) e la riassegnazione del profilo (PUT .../code-scans/{scan_id}/profile) per entrambi gli ambiti. I passaggi seguenti utilizzano l’ambito dell’organizzazione; usa i percorsi e le autorizzazioni Enterprise se la tua credenziale è limitata all’ambito Enterprise.

Flusso tipico

1

Scegli un profilo (facoltativo)

Chiama Elenca i profili di code scan e scegli un profilo in modalità discover. Ometti il profilo per eseguire una scansione di sicurezza predefinita.
2

Avvia la scansione

La risposta è 201 e contiene il record della scansione. Conserva scan_id. Un 409 indica che il backlog delle scansioni dell’organizzazione è pieno; riprova più tardi.
3

Verifica il completamento

Chiama Elenca le code scan (filtrando per repo_name) finché lo status della scansione non diventa completed (oppure failed o cancelled). Considera questi tre stati come finali. awaiting_user_input si verifica solo per le scansioni interattive avviate dalla web app; le scansioni avviate tramite API non sono interattive e non entrano in questo stato.
4

Esamina i risultati

Chiama Elenca i risultati della code scan con scan_id per consultare i risultati pagina per pagina, filtrando facoltativamente per severity e status.
5

Correggi

Chiama Correggi il risultato della code scan per far sì che Devin apra una pull request che risolva un risultato.

Scansioni di ingestione

Per fare in modo che Devin esegua il triage dei risultato prodotti da un altro scanner, crea nella web app un profilo in modalità ingest, carica il report dello scanner tramite l’API degli allegati (un endpoint nell’ambito dell’organizzazione che richiede l’autorizzazione org UseDevinSessions, oltre alle autorizzazioni per la scansione del codice), quindi chiama Avvia scansione di ingestione (o l’equivalente per Enterprise) con profile_id e attachment_urls.