Note
このトラブルシューティングの記事は、Dependabot でこのエラーが発生した場合に_のみ_関連があります。 他の GitHub 製品でこのエラーが発生し、トラブルシューティングが困難な場合は、GitHub Support にお問い合わせください。 詳しくは、「GitHub Support へのお問い合わせ」をご覧ください。
このエラーについて
403: Resource not accessible by integration
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 は自動的にマージされます。 自動マージの有効化方法の詳細については、「プルリクエストを自動的にマージする」を参照してください。