Skip to main content

Fehler: 403 „Ressource durch Integration nicht zugänglich“

Dieser Fehler kann bei Pull Requests auftreten, die von Dependabot erstellt wurden, und lässt sich auf verschiedene Arten beheben.

Möglicherweise wird bei Verwendung von Dependabot Error: 403 "Resource not accessible by integration" angezeigt.

Dependabot wird als nicht vertrauenswürdig betrachtet, wenn eine Workflowausführung ausgelöst wird, und der Workflow wird mit schreibgeschützten Bereichen ausgeführt. Das Hochladen von code scanning-Ergebnissen für einen Branch erfordert in der Regel den security_events: write-Bereich. Das code scanning ermöglicht jedoch immer das Hochladen von Ergebnissen, wenn das pull_request-Ereignis die Aktionsausführung auslöst. Aus diesem Grund wird für Dependabot-Branches empfohlen, das pull_request-Ereignis anstelle des push-Ereignisses zu verwenden.

Ein einfacher Ansatz besteht in der Ausführung von Pushvorgängen in den Standardbranch und alle anderen wichtigen zeitintensiven Branches sowie in Pull Requests, die für diese Gruppe von Branches geöffnet werden:

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

Ein alternativer Ansatz besteht darin, alle Pushvorgänge mit Ausnahme von Dependabot-Branches auszuführen:

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

Analyse schlägt im Standardbranch immer noch fehl

Wenn der CodeQL-Analyseworkflow für einen Commit, der für den Standardbranch ausgeführt wird, weiterhin ein Fehler auftritt, musst du Folgendes überprüfen:

  • Wurde der Commit von Dependabot erstellt?
  • Wurde der Pull Request, der den Commit enthält, mithilfe von @dependabot squash and merge gemergt?

Diese Art von Mergecommit wird von Dependabot erstellt, weshalb alle Workflows, die für den Commit ausgeführt werden, über schreibgeschützte Berechtigungen verfügen. Wenn du das code scanning und Dependabot-Sicherheitsupdates bzw. Versionsupdates in deinem Repository aktiviert hast, solltest du die Verwendung des Dependabot-Befehls @dependabot squash and merge vermeiden. Stattdessen kannst du automatisches Mergen für dein Repository aktivieren. Dies bedeutet, dass Pull Requests automatisch gemergt werden, wenn alle erforderlichen Überprüfungen erfüllt sind und Statusprüfungen bestanden wurden. Weitere Informationen zum Aktivieren des automatischen Mergens findest du unter Automatisches Zusammenführen eines Pull Requests.