Skip to main content

Erreur : 403 « Ressource non accessible par intégration »

Cette erreur peut être observée sur les demandes de tirage (pull request) créées par Dependabot. Il existe deux façons de la résoudre.

À propos de cette erreur

403: Resource not accessible by integration

Vous pouvez rencontrer cette erreur lorsque vous utilisez Dependabot.

Dependabot est considéré comme non fiable lorsqu'il déclenche l'exécution d'un workflow, si ce dernier est exécuté en lecture seule.

Confirmation de la cause de l'erreur

Si vous utilisez Dependabot dans votre workflow code scanning, examinez la portée qu'il utilise.

Le chargement des résultats d'code scanning pour une branche nécessite généralement l'étendue security_events: write. Toutefois, l'code scanning autorise toujours le chargement des résultats quand l'événement pull_request déclenche l'exécution de l'action. C'est pourquoi, dans le cas des branches Dependabot, nous vous recommandons d'utiliser l'événement pull_request au lieu de l'événement push.

Résolution du problème

Vous pouvez lancer des poussées (push) vers la branche par défaut et toute autre branche importante en cours d'exécution, ainsi que des requêtes d'extraction ouvertes contre cet ensemble de branches :

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

Il est également possible d'exécuter la branche sur toutes les poussées, à l'exception des branches Dependabot :

on:
  push:
    branches-ignore:
      - 'dependabot/**'
  pull_request:

Pour plus d'informations sur la modification du fichier de workflow CodeQL, consultez « Personnalisation de votre configuration avancée pour l’analyse du code ».

Analyse toujours en échec sur la branche par défaut

Si le Workflow d’analyse CodeQL échoue toujours sur un commit effectué sur la branche par défaut, vous devez vérifier :

  • si Dependabot a créé le commit ;
  • Si la demande de tirage qui inclut le commit a été fusionnée à l'aide de @dependabot squash and merge.

Ce type de commit de fusion étant créé par Dependabot, tous les workflows s'exécutant sur le commit ont des autorisations de lecture seule. Si vous avez activé l'code scanning et les mises à jour de sécurité ou de version Dependabot sur votre dépôt, nous vous recommandons d'éviter d'utiliser la commande Dependabot @dependabot squash and merge. À la place, vous pouvez activer la fusion automatique pour votre référentiel. Cela signifie que les requêtes de tirage seront automatiquement fusionnées lorsque toutes les révisions requises sont satisfaites et que les contrôles d'état ont réussi. Pour plus d'informations sur l'activation de la fusion automatique, consultez « Fusion automatique d'une demande de tirage ».