Skip to main content

エラー: 403 "統合によってリソースにアクセスできません"

このエラーは、Dependabot によって作成された pull request で発生する可能性があり、いくつかの異なる方法で解決できます。

このエラーについて

403: Resource not accessible by integration

Dependabot を使う場合、このエラーが表示されることがあります。

Dependabotは、ワークフローが読み取りのみのスコープで実行されている場合、ワークフローの実行をトリガーする際に信頼できないと見なされます。

エラーの原因を確認する

code scanning ワークフローで Dependabot を使用している場合は、使用しているスコープを調査します。

ブランチに対するcode scanningの結果をアップロードするには、通常 security-events: write スコープが必要になります。 ただし、pull_request イベントによってアクションの実行がトリガーされると、code scanningで常に結果のアップロードが許可されます。 そのため、Dependabot ブランチでは push イベントの代わりに pull_request イベントを使用することをお勧めします。

問題を修正する

このブランチ群に対してオープンされたPull Requestとともに、デフォルトブランチやその他の重要な長時間実行されるブランチに対するプッシュで実行することができます。

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

あるいは、Dependabotブランチを除くすべてのプッシュに対して実行することができます。

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

CodeQL ワークフロー ファイルの編集方法について詳しくは、「コード スキャン用の高度なセットアップのカスタマイズ」をご覧ください。

既定のブランチでも分析が失敗する

CodeQL 分析ワークフローが、既定のブランチに作成されたコミットでそれでも失敗する場合は、次を確認する必要があります。

  • Dependabotがそのコミットを作成したか
  • コミットを含む pull 要求が @dependabot squash and merge を使用してマージされたかどうか

この種のマージコミットはDependabotによって作成されるので、このコミットで実行されるワークフローは読み取りのみの権限を持つことになります。 code scanningと Dependabot のセキュリティ更新またはバージョン更新をリポジトリで有効化した場合は、Dependabot の @dependabot squash and merge コマンドは使用しないことをお勧めします。 代わりに、リポジトリで自動マージを有効にすることができます。 つまり、必要なすべてのレビューが満足され、状態チェックに合格すると、pull request は自動的にマージされます。 自動マージの有効化方法について詳しくは、「プルリクエストを自動的にマージする」をご覧ください。