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.

Informationen zu diesem Fehler

403: Resource not accessible by integration

Möglicherweise wird dieser Fehler bei Verwendung von Dependabot angezeigt.

Dependabot wird als nicht vertrauenswürdig betrachtet, wenn eine Workflowausführung ausgelöst wird, wenn der Workflow mit schreibgeschützten Bereichen ausgeführt wird.

Bestätigen der Fehlerursache

Wenn Sie Dependabot in Ihrem code scanning-Workflow verwenden, untersuchen Sie den verwendeten Bereich.

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.

Beheben des Problems

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:

Weitere Informationen zum Bearbeiten der CodeQL-Workflowdatei findest du unter Anpassen des erweiterten Setups für Codeüberprüfung.

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.