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_run
と check_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
名前 | Type | 説明 |
---|---|---|
name | string | GitHub App の名前。 アプリケーションには簡潔で明快な名前を付けましょう。 アプリケーションの名前は、既存の GitHub ユーザと同じ名前にできません。ただし、その名前があなた自身のユーザ名や Organization 名である場合は例外です。 インテグレーションが動作すると、ユーザインターフェース上にアプリケーション名のスラッグが表示されます。 |
description | string | GitHub App の説明。 |
url | string | GitHub App のホームページの完全な URL。 |
callback_urls | array of strings | インストールの承認後にリダイレクトする完全な URL。 最大 10 個のコールバック URL を指定できます。 この URL は、アプリケーションがユーザからサーバへのリクエストを識別して承認する必要がある場合に使用されます。 たとえば、callback_urls[]=https://example.com&callback_urls[]=https://example-2.com のようにします。 |
request_oauth_on_install | boolean | アプリが OAuth フローを使ってユーザーを認可する場合、このオプションを true に設定して、ユーザーがインストール時にアプリを認可して、ステップを省略できるようにすることができます。 このオプションを選んだ場合、setup_url は利用できなくなり、ユーザーはアプリのインストール後に設定された callback_url にリダイレクトされます。 |
setup_url | string | GitHub App アプリケーションをインストール後に追加セットアップが必要な場合に、リダイレクトする完全な URL。 |
setup_on_update | boolean | true に設定すると、たとえばリポジトリが追加や削除された後など、ユーザーはインストールが更新されたときのセットアップ URL にリダイレクトします。 |
public | boolean | GitHub App を公開する場合は true に設定し、アプリの所有者のみがアクセスできるようにするには false に設定します。 |
webhook_active | boolean | Webhook を無効にするには、false に設定します。 Webhook は既定で有効になっています。 |
webhook_url | string | webhook イベントペイロードを送信する完全な URL。 |
events | array of strings | Webhook イベント。 一部の Webhook イベントでは、新しい GitHub App を登録するときにイベントを選ぶ前に、リソースに対する read または write アクセス許可が必要です。 利用可能なイベントと、それに必要なアクセス許可については、「GitHub App webhook イベント」セクションをご覧ください。 クエリ文字列では、複数のイベントを選択できます。 たとえば、「 events[]=public&events[]=label 」のように入力します。 |
single_file_name | string | これは、アプリケーションが任意のリポジトリの単一のファイルにアクセスできるようにするための、スコープの狭い権限です。 single_file アクセス許可を read または write に設定すると、このフィールドは GitHub App が管理する単一のファイルへのパスを指定します。 複数のファイルを管理する必要がある場合は、下の single_file_paths をご覧ください。 |
single_file_paths | array 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
アクセス許可を含めないようにします。
権限 | 説明 |
---|---|
administration | Organization およびリポジトリ管理のためのさまざまなエンドポイントにアクセス権を付与します。 none 、read 、write のいずれかにすることができます。 |
blocking | Blocking Users API へのアクセスを許可します。 none 、read 、write のいずれかにすることができます。 |
checks | Checks API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
contents | さまざまなエンドポイントにアクセス権を付与し、リポジトリのコンテンツを変更できるようにします。 none 、read 、または write のいずれかにすることができます。 |
deployments | Deployments API へのアクセスを許可します。 none 、read 、write のいずれかにすることができます。 |
emails | Emails API へのアクセスを許可します。 none 、read 、write のいずれかにすることができます。 |
followers | Followers API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
gpg_keys | GPG Keys API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
issues | IssuesKeys API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
keys | Public Keys API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
members | Organization のメンバーへのアクセス権を付与します。 none 、read 、write のいずれかにすることができます。 |
metadata | 機密データを漏洩しない、読み取り専用のエンドポイントへのアクセス権を付与します。 read または none を指定できます。 GitHub App に何らかのアクセス許可を設定した場合の既定値は read になり、アクセス許可を指定しなかった場合の既定値は none になります。 |
organization_administration | "Organizations" エンドポイントと Organization Interaction Restrictions API へのアクセスを許可します。 none 、read 、write のいずれかにすることができます。 |
organization_hooks | Organization Webhooks API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
organization_plan | "Organizations" エンドポイントを使って組織の計画に関する情報を取得するためのアクセスを許可します。 none または read のいずれかにすることができます。 |
organization_projects | Projects API へのアクセスを許可します。 none 、read 、write 、admin のいずれかにすることができます。 |
organization_user_blocking | Blocking Organization Users API へのアクセスを許可します。 none 、read 、write のいずれかにすることができます。 |
pages | Pages API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
plan | "ユーザー" エンドポイントを使ってユーザーの GitHub プランに関する情報を取得するためのアクセスを許可します。 none または read のいずれかにすることができます。 |
pull_requests | さまざまなプルリクエストエンドポイントへのアクセス権を付与します。 none 、read 、または write のいずれかにすることができます。 |
repository_hooks | Repository Webhooks API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
repository_projects | Projects API へのアクセスを許可します。 none 、read 、write 、admin のいずれかにすることができます。 |
secret_scanning_alerts | Secret scanning API へのアクセスを許可します。 none 、read 、write のいずれかにすることができます。 |
security_events | Code scanning API へのアクセスを許可します。 none 、read 、write のいずれかにすることができます。 |
single_file | Contents API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
starring | Starring API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
statuses | Statuses API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
team_discussions | Team Discussions API と Team Discussion Comments API へのアクセスを許可します。 none 、read 、または write のいずれかにすることができます。 |
vulnerability_alerts | リポジトリ内の Dependabot alerts を受信するアクセス権を付与します。 詳しくは、「Dependabot アラートについて」を参照してください。 none 、read 、または write のいずれかにすることができます。 |
watching | リストへのアクセス権を付与し、ユーザがサブスクライブするリポジトリの変更を許可します。 none 、read 、または write のいずれかにすることができます。 |
GitHub App webhook イベント
Webhook イベント名 | 必要な権限 | 説明 |
---|---|---|
check_run | checks | チェックランのアクティビティが発生しました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「チェック」 REST API を参照してください。 |
check_suite | checks | チェックスイートのアクティビティが発生しました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「チェック」 REST API を参照してください。 |
commit_comment | contents | コミットコメントが作成されました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「リポジトリ」 REST API を参照してください。 |
create | contents | Gitブランチもしくはタグが作成されました。 詳しくは、REST API 「Git データベース」をご覧ください。 |
delete | contents | Gitブランチまたはタグが削除されました。 詳しくは、REST API 「Git データベース」をご覧ください。 |
deployment | deployments | デプロイメントが作成されました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳しくは、「デプロイメント」 REST API をご覧ください。 |
deployment_status | deployments | デプロイメントが作成されました。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「リポジトリ」 REST API を参照してください。 |
fork | contents | ユーザがリポジトリをフォークします。 詳しくは、REST API 「リポジトリ」をご覧ください。 |
gollum | contents | wikiページが作成もしくは更新されました。 詳しくは、「ウィキについて」を参照してください。 |
issues | issues | Issueに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「issue」 REST API を参照してください。 |
issue_comment | issues | IssueあるいはPull Requestコメントに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「issue」 REST API を参照してください。 |
label | metadata | ラベルに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「issue」 REST API を参照してください。 |
member | members | リポジトリのコラボレータに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「リポジトリ」 REST API を参照してください。 |
membership | members | Teamのメンバーシップに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳しくは、「Teams」 REST API をご覧ください。 |
milestone | pull_request | マイルストーンに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「issue」 REST API を参照してください。 |
org_block | organization_administration | Organizationでブロックされている人に関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Organizations」 REST API を参照してください。 |
organization | members | Organization及びそのメンバーと関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Organizations」 REST API を参照してください。 |
page_build | pages | 成功か否かにかかわらず、GitHub Pagesサイトの試行されたビルドを表します。 このイベントは、GitHub Pages が有効化されたブランチ (プロジェクトのページなら gh-pages 、ユーザーおよび組織のページなら既定のブランチ) へのプッシュでトリガーされます。 |
project | repository_projects または organization_projects | クラシック プロジェクト に関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Projects (classic)」 REST API を参照してください。 |
project_card | repository_projects または organization_projects | クラシック プロジェクト のカードに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Projects (classic)」 REST API を参照してください。 |
project_column | repository_projects または organization_projects | クラシック プロジェクト の列に関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Projects (classic)」 REST API を参照してください。 |
public | metadata | プライベートリポジトリがパブリックにされたとき。 間違いなく: 最高のGitHub Enterprise Cloudイベント。 |
pull_request | pull_requests | Pull Requestに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Pulls」 REST API を参照してください。 |
pull_request_review | pull_request | Pull Requestレビューに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Pulls」 REST API を参照してください。 |
pull_request_review_comment | pull_request | Pull Requestの統合diff中のPull Requestレビューコメントに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Pulls」 REST API を参照してください。 |
pull_request_review_thread | pull_request | 解決済みまたは未解決とマークされている pull request のコメント スレッドに関連するアクティビティ アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。 |
push | contents | リポジトリのブランチもしくはタグに、1つ以上のコミットがプッシュされました。 |
release | contents | リリースに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「リリース」 REST API を参照してください。 |
repository | metadata | リポジトリに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「リポジトリ」 REST API を参照してください。 |
repository_dispatch | contents | GitHub Action を使用するインテグレーターがカスタムイベントをトリガーできるようにします。 |
status | statuses | Gitコミットのステータスが変化したとき。 詳しくは、REST API 「コミット」をご覧ください。 |
team | members | OrganizationのTeamに関連するアクティビティ。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「Teams」 REST API を参照してください。 |
team_add | members | リポジトリがチームに追加されたとき。 |
watch | metadata | 誰かがリポジトリにStarを付けたとき。 アクティビティの種類は、ペイロード オブジェクトの action プロパティで指定されます。詳細については、「アクティビティ」 REST API を参照してください。 |