GitHub Apps のレート制限について
GitHub は、GitHub App が一定の時間内にサーバーに送信できる要求の数に制限を設けます。 この制限は、不正使用やサービス拒否攻撃を防ぐのに役立ち、すべてのユーザーがシステムを使用できるようにします。
GitHub App のレート制限を決定する
現在のレート制限の状態は、いつでも REST API を使って確認できます。 詳しくは、「REST API のリソース」を参照してください。
レート制限 は、GitHub App がユーザー アクセス トークンまたはインストール アクセス トークンを使用して認証するかどうかによって異なります。 ユーザー アクセス トークンを使用すると、ユーザーがアプリを承認した後で、アプリが特定のユーザーに代わって動作できるようになります。 インストール アクセス トークンを使用すると、アプリはアクションをアプリ自体に属するようにすることができます。 ユーザーとインストールのアクセス トークンについて詳しくは、「GitHub アプリでの認証について」を参照してください。
インストール アクセス トークンを使って認証された GitHub Apps は、インストールの最小レート制限である 1 時間あたり 5,000 要求を使います。 ユーザー数が 20 人を超える組織にアプリケーションがインストールされている場合、アプリケーションはユーザーごとに 1 時間あたり 50 件の要求を追加で受け取ります。 20以上のリポジトリを持つインストールでは、リポジトリごとにⅠ時間あたり50リクエストが追加されます。 インストールに対する最大のレート制限は、Ⅰ時間あたり12,500リクエストです。
ユーザー アクセス トークンの要求は、認証したユーザーあたり 15,000 件/時に制限されています。
参考資料
- REST API ドキュメントの「REST API のリソース」
- GraphQL API ドキュメントの「リソースの制限事項」