Skip to main content
POST
Lancer l’analyse de code

Autorisations

Nécessite un utilisateur de service ou un jeton d’accès personnel doté de l’autorisation UseCodeScans au niveau de l’organisation.

Comportement

Met en file d’attente une nouvelle analyse de code pour repo_name dans l’organisation. L’analyse est lancée de manière asynchrone par le répartiteur d’analyses ; la réponse contient l’enregistrement de l’analyse avec un status initial de waiting ou pending. Interrogez périodiquement Lister les analyses de code pour suivre la progression et Lister les constats d’analyse de code (filtrés par scan_id) pour consulter les résultats une fois l’analyse à l’état completed. L’analyse est attribuée au principal appelant (l’utilisateur de service ou le PAT ayant effectué la requête). L’équivalent au périmètre Enterprise est Démarrer une analyse de code (Enterprise).

Champs de la requête

  • repo_name (obligatoire) : nom complet du dépôt, par ex. owner/repo. Le dépôt doit déjà être accessible via l’intégration Git de l’organisation.
  • host : hôte Git du dépôt, s’il ne peut pas être déduit.
  • profile_id : profil d’analyse à appliquer. Utilisez Démarrer une analyse d’ingestion pour les profils en mode ingest.
  • scan_type : type d’analyse à exécuter. Doit correspondre au type d’analyse du profil si profile_id est fourni. Utilise par défaut le type du profil ou security pour les analyses sans profil. Les types d’analyse autres que security nécessitent un profil.
  • commit_sha : commit à extraire avant l’analyse. Utilise par défaut le dernier commit de la branche par défaut du dépôt.

Erreurs

  • 400 si scan_type est incompatible avec le profil, ou si un scan_type autre que de sécurité est fourni sans profil.
  • 403 si l’organisation est limitée aux analyses en mode ingestion et qu’aucun profil en mode ingest n’est fourni.
  • 404 si le dépôt ou le profil n’est pas visible par l’organisation.
  • 409 si le backlog d’analyses de l’organisation est saturé. Réessayez ultérieurement.

Autorisations

Authorization
string
header
requis

Identifiant de compte de service (préfixe : cog_)

Paramètres de chemin

org_id
string
requis

ID de l’organisation (préfixe : org-)

Exemple:

"org-abc123def456"

Corps

application/json

Corps de la requête pour lancer une nouvelle analyse de code.

repo_name
string
requis

Nom complet du dépôt à analyser.

commit_sha
string | null

Commit à extraire avant l’analyse.

host
string | null

Hôte Git du dépôt, s’il est connu.

profile_id
string | null

Profil d’analyse à appliquer à l’analyse.

scan_type
enum<string> | null

Type d'analyse à exécuter. Doit correspondre au type d'analyse du profil lorsqu'un profil est fourni ; utilise par défaut le type du profil, ou 'security' pour les analyses sans profil. Les types autres que security nécessitent un profil et sont refusés sans celui-ci.

Options disponibles:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
telemetry,
accessibility,
general,
migration-docs

Réponse

Réponse réussie

Une analyse de code.

created_at
integer
requis

Date de création de l’analyse (secondes Unix).

host
string | null
requis

Hôte Git du dépôt, s’il est connu.

org_id
string
requis

Organisation à laquelle l’analyse appartient.

profile
CodeScanProfileResponse · object | null
requis

Profil avec lequel l’analyse a été exécutée, le cas échéant.

repo_name
string
requis

Dépôt principal de l’analyse. Les analyses multi-dépôts couvrent des dépôts supplémentaires non répertoriés ici.

scan_id
string
requis

Identifiant unique de l’analyse.

scan_type
enum<string>
requis

Type d'analyse, défini lors de la création.

Options disponibles:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
telemetry,
accessibility,
general,
migration-docs
status
enum<string>
requis

Statut de l’analyse : waiting, pending, running, awaiting_user_input, completed, failed ou cancelled.

Options disponibles:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled