Skip to main content
L’API d’analyse de code vous permet de lancer des analyses, d’interroger périodiquement leur statut et de consulter les constats sans utiliser l’application web. Chaque opération est disponible dans deux périmètres, suivant la même distinction entre organisation et entreprise que le reste de l’API v3 :
  • Organisation (/v3/organizations/{org_id}/code-scans/...) s’applique à une seule organisation et requiert l’autorisation UseCodeScans (écriture) ou ViewCodeScans (lecture) au niveau de l’organisation.
  • Enterprise (/v3/enterprise/...) couvre toutes les organisations de l’entreprise et requiert l’autorisation UseAccountCodeScans (écriture) ou ViewAccountCodeScans (lecture) au niveau Enterprise. Les endpoints de création d’analyses et de remédiation incluent toujours un org_id dans le chemin, car une analyse appartient à une seule organisation.
Les deux périmètres utilisent une API key d’utilisateur de service ou un jeton d’accès personnel pour l’authentification et partagent les mêmes formats de requête et de réponse.

Endpoints

Les mêmes opérations sont également disponibles via les chemins /v3beta1/..., avec des structures de requête et de réponse identiques. Le tableau couvre le workflow d’analyse ; la spécification OpenAPI v3 expose également la planification d’Auto Scan (POST .../code-scans/{scan_id}/auto-scan) et la réattribution de profil (PUT .../code-scans/{scan_id}/profile) dans les deux périmètres. Les étapes ci-dessous utilisent le périmètre de l’organisation ; utilisez les chemins et autorisations Enterprise si votre credential est limité au périmètre Enterprise.

Flux type

1

Choisir un profil (facultatif)

Appelez Lister les profils d’analyse de code et sélectionnez un profil en mode discover. Omettez le profil pour lancer une analyse de sécurité par défaut.
2

Lancer l’analyse

La réponse est un 201 contenant l’enregistrement de l’analyse. Conservez scan_id. Un 409 indique que la file d’attente des analyses de l’organisation est pleine ; réessayez ultérieurement.
3

Interroger jusqu’à la fin de l’analyse

Appelez Lister les analyses de code (en filtrant par repo_name) jusqu’à ce que le status de l’analyse soit completed (ou failed / cancelled). Ces trois statuts sont terminaux. awaiting_user_input ne s’applique qu’aux analyses interactives lancées depuis l’application web ; les analyses lancées via l’API ne sont pas interactives et n’atteignent pas cet état.
4

Consulter les constats

Appelez Lister les constats d’analyse de code avec scan_id pour parcourir les constats par pages, en filtrant éventuellement par severity et status.
5

Remédier

Appelez Remédier à un constat d’analyse de code pour que Devin ouvre une pull request afin de corriger un constat.

Analyses d’ingestion

Pour que Devin assure le triage des constats produits par un autre scanner, créez un profil en mode ingest dans l’application web, chargez le rapport du scanner via l’API des fichiers joints (un endpoint limité à une organisation qui nécessite l’autorisation d’organisation UseDevinSessions, en plus des autorisations d’analyse de code), puis appelez Démarrer une analyse par ingestion (ou l’équivalent Enterprise) avec profile_id et attachment_urls.