Skip to main content

URL パラメータを使用して GitHub App を作成する

URL のクエリ パラメーターを使って新しい GitHub App の設定を事前に選ぶと、新しい GitHub App の構成を簡単に設定できます。

GitHub App URL パラメータについて

個人または Organization アカウントで、GitHub App の構成を事前設定する以下の URL をクエリパラメータに追加できます。

  • 個人アカウント: https://github.com/settings/apps/new
  • Organization アカウント: https://github.com/organizations/:org/settings/apps/new

アプリケーションを作成するユーザは、アプリケーションをサブミットする前に GitHub App 登録ページから事前設定する値を編集できます。 URL クエリ文字列に name などの必須の値が含まれていない場合は、アプリの作成者が、アプリを送信する前に値を入力する必要があります。

webhook を保護するためにシークレットが必要なアプリケーションの場合、シークレットの値はクエリパラメータではなく、アプリケーションを作成する人がフォームに設定する必要があります。 詳細については、「webhook のセキュリティ保護」をご覧ください。

次の URL では、事前構成された説明とコールバック URL を使って、octocat-github-app という新しいパブリック アプリが作成されます。 また、この URL では、checks に対して読み取りと書き込みのアクセス許可が選ばれ、check_runcheck_suite の Webhook イベントにサブスクライブされ、インストール時にユーザーの認可 (OAuth) を要求するオプションが選ばれます。

https://github.com/settings/apps/new?name=octocat-github-app&description=An%20Octocat%20App&callback_urls[]=https://example.com&request_oauth_on_install=true&public=true&checks=write&events[]=check_run&events[]=check_suite

使用可能なクエリパラメータ、権限、およびイベントの完全なリストを、以下のセクションに記載します。

GitHub App configuration parameters

名前説明
namestringGitHub App の名前。 アプリケーションには簡潔で明快な名前を付けましょう。 アプリケーションの名前は、既存の GitHub ユーザと同じ名前にできません。ただし、その名前があなた自身のユーザ名や Organization 名である場合は例外です。 インテグレーションが動作すると、ユーザインターフェース上にアプリケーション名のスラッグが表示されます。
descriptionstringGitHub App の説明。
urlstringGitHub App のホームページの完全な URL。
callback_urlsarray of stringsインストールの承認後にリダイレクトする完全な URL。 最大 10 個のコールバック URL を指定できます。 この URL は、アプリケーションがユーザからサーバへのリクエストを識別して承認する必要がある場合に使用されます。 たとえば、callback_urls[]=https://example.com&callback_urls[]=https://example-2.com のようにします。
request_oauth_on_installbooleanアプリが OAuth フローを使ってユーザーを認可する場合、このオプションを true に設定して、ユーザーがインストール時にアプリを認可して、ステップを省略できるようにすることができます。 このオプションを選んだ場合、setup_url は利用できなくなり、ユーザーはアプリのインストール後に設定された callback_url にリダイレクトされます。
setup_urlstringGitHub App アプリケーションをインストール後に追加セットアップが必要な場合に、リダイレクトする完全な URL。
setup_on_updatebooleantrue に設定すると、たとえばリポジトリが追加や削除された後など、ユーザーはインストールが更新されたときのセットアップ URL にリダイレクトします。
publicbooleanGitHub App を公開する場合は true に設定し、アプリの所有者のみがアクセスできるようにするには false に設定します。
webhook_activebooleanWebhook を無効にするには、false に設定します。 Webhook は既定で有効になっています。
webhook_urlstringwebhook イベントペイロードを送信する完全な URL。
eventsarray of stringsWebhook イベント。 一部の Webhook イベントでは、新しい GitHub App を登録するときにイベントを選ぶ前に、リソースに対する read または write アクセス許可が必要です。 利用可能なイベントと、それに必要なアクセス許可については、「GitHub App webhook イベント」セクションをご覧ください。 クエリ文字列では、複数のイベントを選択できます。 たとえば、events[]=public&events[]=label です。
single_file_namestringこれは、アプリケーションが任意のリポジトリの単一のファイルにアクセスできるようにするための、スコープの狭い権限です。 single_file アクセス許可を read または write に設定すると、このフィールドは GitHub App が管理する単一のファイルへのパスを指定します。 複数のファイルを管理する必要がある場合は、下の single_file_paths をご覧ください。
single_file_pathsarray of stringsアプリケーションが、リポジトリ内の指定した最大 10 ファイルにアクセスできるようにします。 single_file アクセス許可を read または write に設定すると、この配列は GitHub App が管理する最大 10 個のファイルへのパスを格納できます。 これらのファイルには、それぞれ別のアクセス許可があたえられるでのではなく、すべてに single_file で設定されている同じアクセス許可が与えられます。 2 つ以上のファイルが構成されていると、API は multiple_single_files=true を返し、それ以外の場合は multiple_single_files=false を返します。

GitHub App の権限

以下の表にある権限名をクエリパラメータ名として、権限タイプをクエリの値として使用することで、クエリ文字列で権限を設定できます。 たとえば、contents のユーザー インターフェイスで Read & write アクセス許可を選ぶには、クエリ文字列に &contents=write を含めます。 blocking のユーザー インターフェイスで Read-only アクセス許可を選ぶには、クエリ文字列に &blocking=read を含めます。 checks のユーザー インターフェイスで no-access を選ぶには、クエリ文字列に checks アクセス許可を含めないようにします。

権限説明
administrationOrganization およびリポジトリ管理のためのさまざまなエンドポイントにアクセス権を付与します。 nonereadwrite のいずれかにすることができます。
blockingBlocking Users API へのアクセスを許可します。 nonereadwrite のいずれかにすることができます。
checksChecks API へのアクセスを許可します。 nonereadwrite のいずれかにすることができます。
contentsさまざまなエンドポイントにアクセス権を付与し、リポジトリのコンテンツを変更できるようにします。 noneread、または write のいずれかにすることができます。
deploymentsDeployments API へのアクセスを許可します。 nonereadwrite のいずれかにすることができます。
emailsEmails API へのアクセスを許可します。 nonereadwrite のいずれかにすることができます。
followersFollowers API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
gpg_keysGPG Keys API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
issuesIssuesKeys API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
keysPublic Keys API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
membersOrganization のメンバーへのアクセス権を付与します。 nonereadwrite のいずれかにすることができます。
metadata機密データを漏洩しない、読み取り専用のエンドポイントへのアクセス権を付与します。 read または none を指定できます。 GitHub App に何らかのアクセス許可を設定した場合の既定値は read になり、アクセス許可を指定しなかった場合の既定値は none になります。
organization_administration"Organization の更新" エンドポイントと Organization Interaction Restrictions API へのアクセスを許可します。 nonereadwrite のいずれかにすることができます。
organization_hooksOrganization Webhooks API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
organization_plan"Organization の取得" エンドポイントを使って Organization の計画に関する情報を取得するためのアクセスを許可します。 none または read のいずれかにすることができます。
organization_projectsProjects API へのアクセスを許可します。 nonereadwriteadmin のいずれかにすることができます。
organization_user_blockingBlocking Organization Users API へのアクセスを許可します。 nonereadwrite のいずれかにすることができます。
pagesPages API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
plan"ユーザーの取得" エンドポイントを使ってユーザーの GitHub プランに関する情報を取得するためのアクセスを許可します。 none または read のいずれかにすることができます。
pull_requestsさまざまなプルリクエストエンドポイントへのアクセス権を付与します。 noneread、または write のいずれかにすることができます。
repository_hooksRepository Webhooks API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
repository_projectsProjects API へのアクセスを許可します。 nonereadwriteadmin のいずれかにすることができます。
security_eventsCode scanning API へのアクセスを許可します。 nonereadwrite のいずれかにすることができます。
single_fileContents API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
starringStarring API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
statusesStatuses API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
team_discussionsTeam Discussions APITeam Discussion Comments API へのアクセスを許可します。 noneread、または write のいずれかにすることができます。
vulnerability_alertsリポジトリ内の Dependabot alerts を受信するアクセス権を付与します。 詳しくは、「Dependabot alerts について」をご覧ください。 none または read のいずれかにすることができます。
watchingリストへのアクセス権を付与し、ユーザがサブスクライブするリポジトリの変更を許可します。 noneread、または write のいずれかにすることができます。

GitHub App webhook イベント

Webhook イベント名必要な権限説明
check_runchecksチェックランのアクティビティが発生しました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"チェック ラン" REST API を参照してください。
check_suitechecksチェックスイートのアクティビティが発生しました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「チェック スイート」 REST API を参照してください。
commit_commentcontentsコミットコメントが作成されました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、「コミットのコメント」 REST API を参照してください。
createcontentsGitブランチもしくはタグが作成されました。 詳細については、「Git データベース」 REST API を参照してください。
deletecontentsGitブランチまたはタグが削除されました。 詳細については、「Git データベース」 REST API を参照してください。
deploymentdeploymentsデプロイメントが作成されました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、"deployment" の REST API を参照してください。
deployment_statusdeploymentsデプロイメントが作成されました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"deployments" の REST API を参照してください。
forkcontentsユーザがリポジトリをフォークします。 詳しい情報については、「フォーク」 REST API を参照してください。
gollumcontentswikiページが作成もしくは更新されました。 詳細については、「ウィキについて」を参照してください。
issuesissuesIssueに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、REST API の「Issue」を参照してください。
issue_commentissuesIssueあるいはPull Requestコメントに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「issue comments」の REST API を参照してください。
labelmetadataラベルに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"labels" の REST API を参照してください。
membermembersリポジトリのコラボレータに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"collaborators" の REST API を参照してください。
membershipmembersTeamのメンバーシップに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"team members" の REST API を参照してください。
milestonepull_requestマイルストーンに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"milestones" の REST API を参照してください。
org_blockorganization_administrationOrganizationでブロックされている人に関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"blocking organization users" の REST API を参照してください。
organizationmembersOrganization及びそのメンバーと関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"organizations" の REST API を参照してください。
page_buildpages成功か否かにかかわらず、GitHub Pagesサイトの試行されたビルドを表します。 このイベントは、GitHub Pages が有効化されたブランチ (プロジェクトのページなら gh-pages、ユーザーおよび組織のページなら既定のブランチ) へのプッシュでトリガーされます。
projectrepository_projects または organization_projectsclassic projects に関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、「プロジェクト」 REST API を参照してください。
project_cardrepository_projects または organization_projectsclassic project のカードに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"project cards" の REST API を参照してください。
project_columnrepository_projects または organization_projectsclassic project の列に関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、「プロジェクト列」 REST API を参照してください。
publicmetadataプライベートリポジトリがパブリックにされたとき。 間違いなく: 最高のGitHubイベント。
pull_requestpull_requestsPull Requestに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、「pull request」 REST API を参照してください。
pull_request_reviewpull_requestPull Requestレビューに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「pull request のレビュー」の REST API を参照してください。
pull_request_review_commentpull_requestPull Requestの統合diff中のPull Requestレビューコメントに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「プルリクエストのレビュー コメント」の REST API を参照してください。
pull_request_review_threadpull_request解決済みまたは未解決とマークされている pull request のコメント スレッドに関連するアクティビティ アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。
pushcontentsリポジトリのブランチもしくはタグに、1つ以上のコミットがプッシュされました。
releasecontentsリリースに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"リリース" REST API を参照してください。
repositorymetadataリポジトリに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、「リポジトリ」 REST API を参照してください。
repository_dispatchcontentsGitHub Action を使用するインテグレーターがカスタムイベントをトリガーできるようにします。
statusstatusesGitコミットのステータスが変化したとき。 詳しくは、「statuses」の REST API に関するページをご覧ください。
teammembersOrganizationのTeamに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 詳細については、"teams" の REST API を参照してください。
team_addmembersリポジトリがチームに追加されたとき。
watchmetadata誰かがリポジトリにStarを付けたとき。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、REST API の「starring」を参照してください。