{"meta":{"title":"Stacked pull requests API と webhook","intro":"GitHub REST API と GraphQL API、および Webhook を使用して、スタックプル要求をプログラムで読み取って管理します。","product":"Pull Request","breadcrumbs":[{"href":"/ja/pull-requests","title":"Pull Request"},{"href":"/ja/pull-requests/reference","title":"Reference"},{"href":"/ja/pull-requests/reference/stacked-pull-requests-apis-and-webhooks","title":"スタックされた PR API と Webhook"}],"documentType":"article"},"body":"# Stacked pull requests API と webhook\n\nGitHub REST API と GraphQL API、および Webhook を使用して、スタックプル要求をプログラムで読み取って管理します。\n\n> \\[!NOTE] この機能はパブリック プレビュー段階であり、変更される可能性があります。\n\nGitHub REST API と GraphQL API の両方で、スタックされたプル要求が公開されます。 REST API はスタックの読み取りと管理をサポートし、GraphQL API は読み取り専用クエリをサポートします。\n\nAPI を使用して、プル要求のスタック メンバーシップを読み取るか、スタックされたプル要求の独自の自動化と統合を構築します。\n\n## REST API\n\nREST API は、次の 2 つの方法でスタックプル要求を公開します。\n\n* **pull request リソースの `stack` オブジェクト。** プル要求がスタックに属している場合、その REST リソースには `stack` オブジェクトが含まれます。 これにより、プル要求から直接、プル要求のスタック メンバーシップ (スタックの数とサイズ、プル要求の位置とベースなど) を読み取ります。\n* **Stacks API。** スタックの一覧表示、読み取り、作成、拡張、およびディゾルブを行う専用のエンドポイント セット。 これは、スタックを作成および変更するためのサーフェスです。\n\nエンドポイント、パラメーター、およびスキーマについては、 [Pull request 用 REST API エンドポイント](/ja/rest/pulls/pulls) を参照してください。\n\n> \\[!IMPORTANT]\n> API を使用してマージし、スタックプル要求を使用する場合は、新しい非同期マージ API を使用する必要があります。\n\n### マージ API\n\nAPI を使用してスタック プル要求をマージする場合は、非同期マージ エンドポイントを使用する必要があります。\n\nスタックを従来の同期マージ エンドポイントまたは変更とマージすることはできません。 スタックされたプル要求をマージすると、要求したプル要求までのスタック内のすべてのプル要求がマージされるか、キューに入れられ、ベース ブランチにマージされます。 プル要求スタックのマージには、マージに数分かかるプル要求がいくつか含まれる場合があります。 このため、マージ要求を送信すると、マージがバックグラウンドで実行され、結果をポーリングできます。\n\nオープン PR を送信すると、基本的な pull request 状態のみがチェックされます。 ブランチ保護とリポジトリルールは、マージが実際に実行されたときに後で評価され、ポーリング中に失敗した結果としてルールの失敗が報告されます。 スタック マージ要求はアトミックです。つまり、プル要求のグループ全体がマージされるか、マージ キューに追加されるか、そのいずれも追加されません。\n\n詳細については、「[Pull request 用 REST API エンドポイント](/ja/rest/pulls/pulls?apiVersion=2026-03-10#merge-a-pull-request-asynchronously)」を参照してください。\n\n## GraphQL API\n\nGraphQL API は、`stack`型の読み取り専用の`stackEntry`フィールドと`PullRequest` フィールドを使用して、プル要求のスタック メンバーシップを公開します。 これらのフィールドを使用して、プル要求が属するスタックとその中の位置を照会します。\n\nGraphQL API はスタックの読み取り専用です。スタックの変異はありません。 スタックを作成または変更するには、REST API を使用します。\n\nフィールド、オブジェクト、およびスキーマについては、 [Pull Request](/ja/graphql/reference/pulls#object-pullrequeststack) を参照してください。\n\n## Webhooks\n\nプル要求がスタックに属している場合、GitHubは webhook イベント ペイロードの`stack` オブジェクトに`pull_request` プロパティを追加します。 これにより、アプリと統合は、プル要求の直接の親ブランチだけでなく、スタックのターゲット ブランチを検査できます。\n\n`stack` オブジェクトは、プル要求がスタックの一部である間に発生するプル要求ライフサイクル イベントの`pull_request` Webhook ペイロードに含まれます。\n\n「[Webhook のイベントとペイロード](/ja/webhooks/webhook-events-and-payloads?actionType=stacked#pull_request)」を参照してください。\n\n## 詳細については、次を参照してください。\n\n* [Stacked pull requests CLI コマンド](/ja/pull-requests/reference/stacked-prs-cli-commands)\n* [スタックされたプルリクエストについて](/ja/pull-requests/get-started/about-stacked-prs)"}