Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となります: 2026-08-25. 廃止されたリリースはサポートされていません。 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 GitHub Enterprise Server のパフォーマンスの向上、セキュリティの向上、新機能については、「アップグレード プロセスの概要を参照してください。 アップグレードに関するサポートについては、GitHub Enterprise Support にお問い合わせください。

GitHub アプリの作成について

GitHub Apps では、プロセスを自動化し、 GitHubの機能を拡張するための統合を構築できます。

GitHub Apps の概要

GitHub Appは、GitHubの機能を操作して拡張するために構築できる統合の一種です。 ユーザーのサインインやサービス アカウントの作成を必要とせずに、柔軟性を提供し、プロセスの摩擦を軽減する GitHub App を構築できます。

GitHub Appsの一般的なユース ケースは次のとおりです。

  • タスクまたはバックグラウンド プロセスの自動化
  • ユーザーが自分のGitHub アカウントでサインインし、エコシステムで ID を提供できるようにする "GitHub でサインイン" をサポートする
  • 開発者ツールとして、ユーザーが自分のGitHubにサインインしてGitHub Appを操作できるようにし、ユーザーに代わって行動できるようにする
  • お使いのツールまたは外部サービスと GitHub の統合

OAuth appsと同様に、OAuth 2.0 を使用GitHub Apps、ユーザーの代わりに動作できます。 OAuth appsとは異なり、GitHub Appsはユーザーとは独立して動作することもできます。

GitHub Apps は、 organization、個人用アカウントに直接インストールし、特定のリポジトリへのアクセスを許可できます。 webhook が組み込まれており、精細で特定のアクセス権限が付いています。

また、エンタープライズ所有の GitHub App を作成することもできます。このは、企業自体 にのみインストールでき、企業のメンバーのみが承認できます。 詳しくは、「エンタープライズ向けのGitHub アプリの作成」をご覧ください。

デフォルトでは、Organization内のGitHub Appsの設定を管理できるのはOrganizationのオーナーだけです。 組織が所有する GitHub Apps の開発者設定を追加ユーザーが変更できるようにするため、所有者は GitHub App マネージャーのアクセス許可を付与できます。 GitHub App マネージャーは、サード パーティのアプリケーションを管理できません。 Organization での GitHub App マネージャーの追加と削除の詳細については、「組織の役割」を参照してください。

GitHub App を構築する

GitHub Appを構築するには、まずGitHub Appを登録する必要があります。 詳しくは、「GitHub アプリの登録」をご覧ください。

次に、 GitHub Appに機能を追加するコードを記述する必要があります。 GitHub App登録の資格情報を使用して、GitHubの API に対して認証された要求を行うことができます。 GitHub Appのコードの記述の詳細については、GitHub アプリのコードの記述について を参照してください。 認証された要求を行う方法の詳細については、「GitHub アプリでの認証について」を参照してください。

GitHub Appのコードを記述したら、アプリをどこかで実行する必要があります。 アプリが Web サイトまたは Web アプリの場合は、Azure App Service</c0 などのサーバーでアプリをホスト>。 アプリがクライアント側アプリの場合は、ユーザーのデバイス上で実行できます。

GitHub Appを使用するには、Organization アカウント、または個人用アカウントにインストールする必要があります。

  • GitHub Appがプライベートの場合は、アプリを所有するアカウントにのみインストールできます。
  • GitHub Appがパブリックの場合は、他のアカウントでもインストールできます。
  • GitHub Appが企業によって所有されている場合は、組織にインストールできます。

詳細については、「独自のGitHub アプリのインストール」および「GitHub App の共有」を参照してください。

ビルドする GitHub App の種類を理解する

アプリに必要な機能に基づいて、検討する GitHub App を設計する方法は複数あります。

GitHub Apps ユーザーの代わりに動作する

アプリでユーザーに代わってアクションを実行する場合は、認証にユーザー アクセス トークンを使用する必要があります。 この種類の要求は "user-to-server" と呼ばれることがあり、アプリに付与されたアクセス許可とユーザーのアクセス許可によってアプリが制限されることを意味します。 このパターンでは、アプリでアクションが実行される前に、ユーザーがアプリを承認する必要があります。 詳しくは、「ユーザーに代わってGitHub アプリで認証する」をご覧ください。

アプリがユーザーに代わって機能する GitHub Appを使用して作成できる自動化の例を次に示します。

  • エコシステムの ID プロバイダーとしてGitHub Appを使用するGitHub。
  • GitHub App GitHub 上にサービスを追加し、GitHub ユーザーに役立つ可能性があるもの。 GitHub Marketplaceまたはアプリをパブリックにすることで、他の開発者とアプリを共有できます。

GitHub Apps 自らのために行動する

アプリがユーザーの代わりではなく独自で実行する場合、認証にインストール アクセス トークンを使用する必要があります。 この種類の要求は、"server-to-server" とも呼ばれることがあり、アプリに付与されたアクセス許可によってアプリが制限されることを意味します。 詳しくは、「GitHub App インストールとしての認証」をご覧ください。

アプリが自らの権限で動作する GitHub App を使用して作成できる自動化の例には、次のようなものがあります。

  • Webhook を使用して、特定の条件に基づいてイベントに反応する GitHub App。 たとえば、特定のポリシーに基づいてリクエストを承認する、fine-grained personal access token のリクエストを確認するための REST API エンドポイント向けの自動化を作成できます。
  • リポジトリの共同作成者を支援する GitHub App 。 たとえば、共同作成者が pull request を作成した後またはコメントを作成した後、アプリで有用なリソースを投稿できます。
  • 他の CI/CD ツールに提供したり、リポジトリから情報をプルしたりするための有効期間の短いトークンを生成する GitHub App 。

GitHub Apps Webhookに応答する

アプリが GitHubのイベントに応答する場合は、アプリが webhook をサブスクライブする必要があります。 たとえば、プルリクエストが開かれたときに、アプリに自動的にコメントを残させることができます。 詳しくは、「GitHub Apps での Webhook の使用」をご覧ください。

GitHub Apps 特定のアクションを実行できる

GitHub Appを設定するときに、アプリの特定のアクセス許可を選択できます。 これらのアクセス許可により、 GitHub API を介してアプリが実行できること、サインインしているユーザーに代わって実行できること、アプリが受け取ることができる Webhook が決まります。 詳しくは、「GitHub アプリのアクセス許可の選択」をご覧ください。