Skip to main content
POST
Avvia scansione di importazione

Autorizzazioni

Richiede un utente di servizio o un token di accesso personale con l’autorizzazione UseCodeScans a livello dell’organizzazione.

Comportamento

Accoda un code scan in modalità di ingestione. Anziché individuare i problemi da zero, una scansione di ingestione acquisisce i finding prodotti altrove (ad esempio, da un report SAST) e incarica Devin di sottoporli a triage e convalidarli rispetto al repository. La scansione viene avviata in modo asincrono dal dispatcher delle scansioni e attribuita al principal chiamante. L’equivalente nell’ambito Enterprise è Avvia scansione di ingestione (Enterprise).

Campi della richiesta

Specifica esattamente uno tra repo_name e repos.
  • repo_name: nome completo del repository, ad es. owner/repo.
  • repos: repository inclusi in un’unica scansione multi-repo, sotto forma di elenco di oggetti con repo_name e un host facoltativo (fino a 200). La prima voce è il repository principale della scansione.
  • profile_id (obbligatorio): un profilo di scansione in modalità ingest. I profili in modalità discover vengono rifiutati con codice 400.
  • host: host Git del repository, se non può essere dedotto.
  • attachment_urls: URL degli allegati di Devin (ad esempio un report dello scanner esportato) da fornire alla scansione. Carica prima i file tramite l’API degli allegati, che richiede l’autorizzazione UseDevinSessions.
  • effort: normal (predefinito) usa un livello di ragionamento del modello più basso con batch di triage e convalida più ampi; deep esegue la pipeline completa.
  • platform: dove vengono eseguite le sessioni della scansione; può essere un’etichetta di piattaforma configurata per l’organizzazione (ad esempio linux, windows o macos) oppure il nome di un pool outpost, senza distinzione tra maiuscole e minuscole. Se un nome corrisponde a entrambi, ha la priorità la piattaforma. Il valore predefinito è quello impostato per l’organizzazione.

Errori

  • 400 se profile_id non è un profilo in modalità di ingestione, oppure se platform non corrisponde a un’etichetta di piattaforma configurata o a un pool outpost (il corpo dell’errore elenca i valori disponibili).
  • 404 se il repository o il profilo non è visibile all’organizzazione.
  • 409 se il backlog delle scansioni dell’organizzazione è al completo. Riprova più tardi.
  • 422 se vengono forniti sia repo_name sia repos o nessuno dei due, oppure se repos è vuoto.

Autorizzazioni

Authorization
string
header
obbligatorio

Credenziale dell'utente del servizio (prefisso: cog_)

Parametri del percorso

org_id
string
obbligatorio

ID dell'organizzazione (prefisso: org-)

Esempio:

"org-abc123def456"

Corpo

application/json

Corpo della richiesta per avviare un code scan in modalità ingest.

Accetta solo un profilo di scansione in modalità ingest (ingest-mode): il profilo viene eseguito sul repository specificato (o sui repository specificati).

profile_id
string
obbligatorio

Profilo di scansione in modalità ingest da eseguire. Deve essere un profilo ingest; i profili non ingest vengono rifiutati con 400.

attachment_urls
string<uri>[] | null

URL degli allegati Devin da fornire alla scansione, ad es. file caricati tramite l'API degli allegati. Gli allegati devono appartenere all'organizzazione sottoposta a scansione.

Maximum array length: 10
Required string length: 1 - 2083
effort
enum<string> | null

Livello di approfondimento dello scan: 'normal' (predefinito) usa un livello di ragionamento del modello più basso con gruppi più ampi per la valutazione preliminare e la convalida; 'deep' esegue l'intera pipeline.

Opzioni disponibili:
normal,
deep
host
string | null

Host Git del repository, se noto.

platform
string | null

Dove vengono eseguite le sessioni della scansione: un'etichetta di piattaforma configurata per l'organizzazione (ad es. 'linux', 'windows', 'macos') o il nome di un pool outpost (BYOB), senza distinzione tra maiuscole e minuscole; se un nome corrisponde sia a una piattaforma sia a un pool, la piattaforma ha la priorità. Se il valore è omesso, viene usato quello predefinito dell'organizzazione. I valori non riconosciuti vengono rifiutati con un errore 400, il cui corpo elenca le etichette di piattaforma e i nomi dei pool outpost disponibili.

Maximum string length: 128
repo_name
string | null

Nome completo del repository da sottoporre a scansione. Specificare uno solo dei due campi: repo_name o repos.

repos
ScanRepoRequest · object[] | null

Repository inclusi in un'unica scansione; la prima voce indica il repository principale della scansione. Specificare uno solo dei due campi: repo_name o repos.

Maximum array length: 200

Risposta

Risposta con esito positivo

Un singolo code scan.

created_at
integer
obbligatorio

Momento in cui lo scan è stato creato (secondi Unix).

effort
enum<string>
obbligatorio

Livello di approfondimento dello scan: 'normal' usa un livello di ragionamento del modello più basso con gruppi di indagine più ampi; 'deep' esegue l'intera pipeline.

Opzioni disponibili:
normal,
deep
host
string | null
obbligatorio

Host Git della repository, se noto.

org_id
string
obbligatorio

Organizzazione a cui appartiene lo scan.

profile
CodeScanProfileResponse · object | null
obbligatorio

Profilo con cui è stato eseguito lo scan, se presente.

repo_name
string
obbligatorio

Repository principale dello scan. Gli scan multi-repo coprono repository aggiuntive non elencate qui.

scan_id
string
obbligatorio

Identificatore univoco dello scan.

scan_type
enum<string>
obbligatorio

Tipo di scansione, definito al momento della creazione.

Opzioni disponibili:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs
status
enum<string>
obbligatorio

Stato dello scan: waiting, pending, running, awaiting_user_input, completed, failed o cancelled.

Opzioni disponibili:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled
url
string
obbligatorio

URL della pagina della scansione nell'applicazione web di Devin.

outpost_pool_id
string | null

Pool outpost su cui vengono eseguite le sessioni della scansione, se impostato.

platform
string | null

Etichetta della piattaforma ospitata su cui vengono eseguite le sessioni della scansione. Null quando la scansione viene eseguita su un pool outpost o sulla piattaforma predefinita dell'organizzazione.

repo_full_name
string | null

Identificativo del repository principale comprensivo dell'host (ad es. github.com/org/repo). Null per i depot Perforce, che non hanno un host git.