Skip to main content
Mit der Code-Scans-API können Sie Scans starten, ihren Status abfragen und Befunde lesen, ohne die Web-App zu verwenden. Jede Operation ist in zwei Geltungsbereichen verfügbar und folgt derselben Trennung zwischen Organisation und Enterprise wie der Rest der v3-API:
  • Organisation (/v3/organizations/{org_id}/code-scans/...) gilt für eine einzelne Organisation und erfordert die Berechtigung UseCodeScans auf Organisationsebene (Schreibvorgänge) oder ViewCodeScans (Lesevorgänge).
  • Enterprise (/v3/enterprise/...) umfasst alle Organisationen im Enterprise und erfordert die Berechtigung UseAccountCodeScans auf Enterprise-Ebene (Schreibvorgänge) oder ViewAccountCodeScans (Lesevorgänge). Die Endpunkte zum Erstellen von Scans und zur Fehlerbehebung erwarten weiterhin eine org_id im Pfad, da ein Scan zu einer Organisation gehört.
Beide Geltungsbereiche authentifizieren sich mit einem API key eines Service-Benutzers oder einem Personal Access Token und verwenden dieselben Anfrage- und Antwortformate.

Endpunkte

Dieselben Vorgänge sind auch über /v3beta1/...-Pfade mit identischen Anfrage- und Antwortformaten verfügbar. Die Tabelle deckt den Scan-Workflow ab; die v3-OpenAPI-Spezifikation unterstützt zusätzlich die Planung von Auto Scan (POST .../code-scans/{scan_id}/auto-scan) und die Neuzuweisung von Profilen (PUT .../code-scans/{scan_id}/profile) in beiden Geltungsbereichen. Die folgenden Schritte verwenden den Organisations-Geltungsbereich. Wenn Ihre Zugangsdaten auf Enterprise beschränkt sind, verwenden Sie stattdessen die Enterprise-Pfade und -Berechtigungen.

Typischer Ablauf

1

Profil auswählen (optional)

Rufen Sie Code-Scan-Profile auflisten auf und wählen Sie ein Profil im Modus discover aus. Lassen Sie das Profil weg, um einen Standard-Sicherheitsscan auszuführen.
2

Scan starten

Die Antwort ist ein 201 mit dem Scan-Datensatz. Speichern Sie scan_id. Ein 409 bedeutet, dass die Scan-Warteschlange der Organisation voll ist; versuchen Sie es später erneut.
3

Abschluss prüfen

Rufen Sie Code-Scans auflisten auf (gefiltert nach repo_name), bis der status des Scans completed (oder failed / cancelled) lautet. Betrachten Sie diese drei Status als Endzustände. awaiting_user_input tritt nur bei interaktiven Scans auf, die über die Web-App gestartet wurden; über die API gestartete Scans sind nicht interaktiv und erreichen diesen Status nicht.
4

Befunde anzeigen

Rufen Sie Code-Scan-Befunde auflisten mit scan_id auf, um die Befunde seitenweise abzurufen und optional nach severity und status zu filtern.
5

Beheben

Rufen Sie Code-Scan-Befund beheben auf, damit Devin einen Pull Request zum Beheben eines Befunds erstellt.

Ingestion-Scans

Damit Devin die von einem anderen Scanner erzeugten Befunde triagieren kann, erstellen Sie in der Web-App ein Profil im Modus ingest, laden Sie den Scannerbericht über die Attachments API hoch (einen Endpunkt im Org-Geltungsbereich, der zusätzlich zu den Berechtigungen für Code-Scans die Org-Berechtigung UseDevinSessions erfordert), und rufen Sie anschließend Ingestion-Scan starten (oder das Enterprise-Äquivalent) mit profile_id und attachment_urls auf.