Skip to main content
POST
Ingestion-Scan starten

Berechtigungen

Erfordert einen Service-Benutzer oder ein persönliches Zugriffstoken mit der Berechtigung UseAccountCodeScans auf Enterprise-Ebene.

Verhalten

Stellt einen Code-Scan im Ingestion-Modus in die Warteschlange. Statt Probleme von Grund auf zu erkennen, übernimmt ein Ingestion-Scan an anderer Stelle erzeugte Befunde (zum Beispiel aus einem SAST-Bericht) und lässt Devin diese im Repository prüfen und validieren. Der Scan wird vom Scan-Dispatcher asynchron gestartet und dem aufrufenden Principal zugeordnet.

Anfragefelder

Geben Sie genau eines der Felder repo_name oder repos an.
  • repo_name: vollständiger Name des Repositorys, z. B. owner/repo.
  • repos: Repositorys, die von einem Multi-Repo-Scan abgedeckt werden, als Liste von Objekten mit repo_name und einem optionalen host (bis zu 200). Der erste Eintrag ist das primäre Repository des Scans.
  • profile_id (erforderlich): ein Scan-Profil im Modus ingest. Ein Profil im Modus discover wird mit 400 abgelehnt.
  • host: Git-Host des Repositorys, falls er nicht abgeleitet werden kann.
  • attachment_urls: Devin-Anhang-URLs (zum Beispiel ein exportierter Scannerbericht), die dem Scan zur Verfügung gestellt werden. Laden Sie Dateien zunächst über die Attachments API hoch.
  • effort: normal (Standard) arbeitet mit geringerem Reasoning-Aufwand des Modells und größeren Triage- und Validierungs-Batches; deep durchläuft die vollständige Pipeline.
  • platform: wo die Sitzungen des Scans ausgeführt werden – entweder ein für die Organisation konfiguriertes Plattform-Label (zum Beispiel linux, windows oder macos) oder der Name eines Outpost-Pools; Groß-/Kleinschreibung wird nicht beachtet. Trifft ein Name auf beides zu, haben Plattformen Vorrang. Ohne Angabe gilt der Standardwert der Organisation.

Fehler

  • 400, wenn profile_id kein Profil im Ingestion-Modus ist oder platform weder einem konfigurierten Plattform-Label noch einem Outpost-Pool entspricht (der Fehlertext listet die verfügbaren Werte auf).
  • 404, wenn die Organisation, das Repository oder das Profil für das Enterprise-Konto nicht sichtbar ist.
  • 409, wenn der Scan-Backlog der Organisation seine Kapazitätsgrenze erreicht hat. Versuchen Sie es später erneut.
  • 422, wenn entweder sowohl repo_name als auch repos oder keiner der beiden Parameter angegeben ist oder wenn repos leer ist.

Autorisierungen

Authorization
string
header
erforderlich

Servicebenutzer-Anmeldedaten (Präfix: cog_)

Pfadparameter

org_id
string
erforderlich

Organisations-ID (Präfix: org-)

Beispiel:

"org-abc123def456"

Body

application/json

Anfragetext zum Starten eines Code-Scans im Ingestion-Modus.

Akzeptiert nur ein Scanprofil für die Ingestion (Ingest-Modus): Das Profil wird für das angegebene Repository (oder die angegebenen Repositorys) ausgeführt.

profile_id
string
erforderlich

Auszuführendes Scanprofil im Ingestion-Modus. Muss ein Ingest-Profil sein; Nicht-Ingest-Profile werden mit 400 abgewiesen.

attachment_urls
string<uri>[] | null

Devin-Anhang-URLs, die dem Scan bereitgestellt werden, z. B. über die Attachments-API hochgeladene Dateien. Die Anhänge müssen zu der gescannten Organisation gehören.

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

Scan-Aufwand: 'normal' (Standard) nutzt einen geringeren Reasoning-Aufwand des Modells und größere Batches für Triage und Validierung; 'deep' führt die vollständige Pipeline aus.

Verfügbare Optionen:
normal,
deep
host
string | null

Git-Host des Repositorys, falls bekannt.

platform
string | null

Ausführungsort der Scan-Sitzungen: eine für die Organisation konfigurierte Plattformbezeichnung (z. B. 'linux', 'windows', 'macos') oder der Name eines Outpost-Pools (BYOB), wobei die Groß- und Kleinschreibung nicht berücksichtigt wird; wenn ein Name sowohl einer Plattform als auch einem Pool entspricht, hat die Plattform Vorrang. Ohne Angabe gilt der Standard der Organisation. Unbekannte Werte werden mit einem 400-Fehler abgewiesen, dessen Fehlerantwort die verfügbaren Plattformbezeichnungen und Outpost-Pool-Namen auflistet.

Maximum string length: 128
repo_name
string | null

Vollständiger Name des zu scannenden Repositorys. Geben Sie genau einen der beiden Parameter repo_name oder repos an.

repos
ScanRepoRequest · object[] | null

Repositorys, die von einem Scan erfasst werden; der erste Eintrag ist das primäre Repository des Scans. Geben Sie genau einen der beiden Parameter repo_name oder repos an.

Maximum array length: 200

Antwort

Erfolgreiche Antwort

Ein einzelner Code-Scan.

created_at
integer
erforderlich

Zeitpunkt, zu dem der Scan erstellt wurde (Unix-Sekunden).

effort
enum<string>
erforderlich

Scan-Aufwand: 'normal' nutzt einen geringeren Reasoning-Aufwand des Modells und größere Untersuchungspakete; 'deep' führt die vollständige Pipeline aus.

Verfügbare Optionen:
normal,
deep
host
string | null
erforderlich

Git-Host des Repositorys, falls bekannt.

org_id
string
erforderlich

Organisation, zu der der Scan gehört.

profile
CodeScanProfileResponse · object | null
erforderlich

Profil, unter dem der Scan ausgeführt wurde, falls vorhanden.

repo_name
string
erforderlich

Primäres Repository des Scans. Multi-Repo-Scans umfassen zusätzliche Repositorys, die hier nicht aufgeführt sind.

scan_id
string
erforderlich

Eindeutige Kennung des Scans.

scan_type
enum<string>
erforderlich

Typ des Scans, bei der Erstellung festgelegt.

Verfügbare Optionen:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs
status
enum<string>
erforderlich

Scan-Status: waiting, pending, running, awaiting_user_input, completed, failed oder cancelled.

Verfügbare Optionen:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled
url
string
erforderlich

URL der Scan-Seite in der Devin-Webapp.

outpost_pool_id
string | null

Outpost-Pool, auf dem die Sitzungen des Scans ausgeführt werden, sofern festgelegt.

platform
string | null

Bezeichnung der gehosteten Plattform, auf der die Sitzungen des Scans ausgeführt werden. Null, wenn der Scan auf einem Outpost-Pool oder mit der Standardeinstellung der Organisation ausgeführt wird.

repo_full_name
string | null

Kennung des primären Repositorys einschließlich Host (z. B. github.com/org/repo). Null für Perforce-Depots, die keinen Git-Host haben.