Lesstep
GitHub Actions・pull_request_target・2026年11月5日に確認

「Event 'pull_request_target' is not allowed to trigger Actions workflows」:公開リポジトリの既定のポリシー、11月9日と16日の試しの停止、2026年12月2日

GitHub は公開リポジトリに、pull_request_target で始まるワークフローを止める Actions の既定のポリシーを足しました。いまは評価モードで、実行に警告が付くだけです。2026年12月2日から本当に止め、その前に11月9日と11月16日の 16:00〜18:00(UTC)に試しに止めます。そのあいだ当たる実行はエラーの注釈つきで失敗し、ワークフローは動きません。非公開と内部のリポジトリ、GitHub Enterprise Server は対象外です。このトリガーのまま使い続けるワークフローは、自分の Actions のイベントのポリシーで許可します。そうでなければ pull_request に移すか、止まるのに任せます。

見え方

評価モードのいまは、ポリシーが止める実行にこのような警告の注釈が付きます(flutter #193185・2026年9月。日付はその後 GitHub が12月2日に動かしました):

Workflow execution policy warning (evaluate mode): .github/workflows/revert.yml#L1
On November 2, 2026, GitHub will restrict `pull_request_target` on public repositories by default. To continue allowing the event trigger, configure an Actions policy. Learn more: https://gh.io/securely-using-pull_request_target#default-policy-for-pull_request_target

ポリシーがイベントを止めると、実行はこの形のエラーで失敗する、と GitHub のドキュメントにあります。自分のポリシーで pull_request_target を断っているリポジトリでは、すでにこれが出ています(metadatastician/standards #1102):

Event 'pull_request_target' is not allowed to trigger Actions workflows. Workflow file: '.github/workflows/security-gate-pr-target.yml'.

GitHub の changelog は、試しの停止で止められた実行はエラーの注釈つきで失敗する、と書くだけで、その文は載せていません。

日付

当たるワークフロー

GitHub が既定のポリシーを足すのは、当てはまる Actions のイベントのポリシーが無いところだけです。止めるのはイベントそのもので、ワークフローがそれで何をしているかは関係ありません。リポジトリのワークフローを並べるには:

grep -rln 'pull_request_target' .github/workflows

Organization の公開リポジトリ全体なら、GitHub のコード検索で org:ORG path:.github/workflows pull_request_target を探します。ポリシーが止める実行は、リポジトリか Organization の Settings、Actions、Policies の下の Policy insights にも並びます。GitHub のコード検索では、pull_request_target を書いたワークフローのファイルが約8万9千ありました(2026年11月5日)。多いのはラベル付けや仕分けのワークフローで、actions/labeler の README の例も on: pull_request_target で始まります。

やり方1:ワークフローを pull_request に移す

シークレットへのアクセスをそれ以上要らないなら pull_request を使う、と GitHub のドキュメントにあります。プルリクエストをビルドやテストするワークフローは、どのみちこちらです。pull_request_target でフォークのコードを動かすと、そのコードにリポジトリのシークレットを渡すことになります。

 on:
-  pull_request_target:
+  pull_request:

pull_request では、フォークからのプルリクエストの実行は読み取りだけの GITHUB_TOKEN で、シークレットもありません。そのため、ラベルを付けたりコメントしたりするステップは 「Resource not accessible by integration」 で失敗します。コメントについては、GitHub のドキュメントにワークフローを2つに分ける例があります。pull_request のほうがプルリクエストの番号をアーティファクトに上げ、workflow_run のワークフローがそれを読んでコメントします。

やり方2:イベントのポリシーでトリガーを残す

リポジトリか Organization の Settings を開き、サイドバーの Actions の下の Policies へ。ポリシーを作り、名前と、強制の状態 Active(Evaluate は GitHub Enterprise Cloud だけ)を選び、このトリガーが要るワークフローのファイルを対象にして、Restrict events で pull_request_target を許可します。

イベントのルールは、対象のワークフローを始めてよいイベントの一覧です。なので pull_request_target だけでなく、その on: にあるイベントを全部並べます。workflow_dispatch や schedule もあるワークフローなら、それも要ります。

REST API でも同じことができます(リポジトリの管理者として)。中身は、GitHub の REST のリファレンスの、リポジトリの Actions のポリシーを作る項目に合わせました:

gh api -X POST repos/OWNER/REPO/actions/policies \
  -H "X-GitHub-Api-Version: 2026-03-10" --input - <<'EOF'
{
  "name": "Allow pull_request_target for the labeler",
  "enforcement": "active",
  "conditions": {"workflow_path": {"include": [".github/workflows/labeler.yml"], "exclude": []}},
  "rules": [{"type": "restrict_action_events", "parameters": {"allowed_events": ["pull_request_target"]}}]
}
EOF

このイベントを許可するのは必要なときだけにし、信頼できないプルリクエストのコードを、シークレットや書き込みのトークンがある状態でチェックアウト・ビルド・実行しないように、と GitHub は注意しています。フォークからのプルリクエストのチェックでそれが何を意味するかは、フォークからのプルリクエストで失敗するチェック・待つチェック に。

見分け方

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べるので、試しの停止で失敗した実行がすぐ分かり、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

JetBrains Marketplace で入れる

GitHub と GitHub Actions は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:フォークからのプルリクエストのチェック · 「Resource not accessible by integration」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English