- Organisation (
/v3/organizations/{org_id}/code-scans/...) s’applique à une seule organisation et requiert l’autorisationUseCodeScans(écriture) ouViewCodeScans(lecture) au niveau de l’organisation. - Enterprise (
/v3/enterprise/...) couvre toutes les organisations de l’entreprise et requiert l’autorisationUseAccountCodeScans(écriture) ouViewAccountCodeScans(lecture) au niveau Enterprise. Les endpoints de création d’analyses et de remédiation incluent toujours unorg_iddans le chemin, car une analyse appartient à une seule organisation.
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. Les analyses non liées à la sécurité nécessitent un profil du type d’analyse correspondant.2
Lancer l’analyse
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 : les analyses lancées via l’API ne sont pas interactives, sauf si vous passez interactive: true pour une analyse de sécurité. Dans ce cas, l’analyse se met en pause à l’état awaiting_user_input afin que l’utilisateur puisse effectuer une revue entre la modélisation des menaces et l’investigation.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 modeingest 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.
