About GitHub App URL parameters
You can add query parameters to these URLs to preselect the configuration of a GitHub App on a personal or organization account:
- User account:
http(s)://[hostname]/settings/apps/new
- Organization account:
http(s)://[hostname]/organizations/:org/settings/apps/new
The person creating the app can edit the preselected values from the GitHub App registration page, before submitting the app. If you do not include required parameters in the URL query string, like name
, the person creating the app will need to input a value before submitting the app.
For apps that require a secret to secure their webhook, the secret's value must be set in the form by the person creating the app, not by using query parameters. For more information, see "Securing your webhooks."
The following URL creates a new public app called octocat-github-app
with a preconfigured description and callback URL. This URL also selects read and write permissions for checks
, subscribes to the check_run
and check_suite
webhook events, and selects the option to request user authorization (OAuth) during installation:
http(s)://[hostname]/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
The complete list of available query parameters, permissions, and events is listed in the sections below.
GitHub App configuration parameters
Name | Type | Description |
---|---|---|
name | string | The name of the GitHub App. Give your app a clear and succinct name. Your app cannot have the same name as an existing GitHub user, unless it is your own user or organization name. A slugged version of your app's name will be shown in the user interface when your integration takes an action. |
description | string | A description of the GitHub App. |
url | string | The full URL of your GitHub App's website homepage. |
callback_urls | array of strings | A full URL to redirect to after someone authorizes an installation. You can provide up to 10 callback URLs. These URLs are used if your app needs to identify and authorize user-to-server requests. For example, callback_urls[]=https://example.com&callback_urls[]=https://example-2.com . |
request_oauth_on_install | boolean | If your app authorizes users using the OAuth flow, you can set this option to true to allow people to authorize the app when they install it, saving a step. If you select this option, the setup_url becomes unavailable and users will be redirected to your callback_url after installing the app. |
setup_url | string | The full URL to redirect to after someone installs the GitHub App if the app requires additional setup after installation. |
setup_on_update | boolean | Set to true to redirect people to the setup URL when installations have been updated, for example, after repositories are added or removed. |
public | boolean | Set to true when your GitHub App is available to the public or false when it is only accessible to the owner of the app. |
webhook_active | boolean | Set to false to disable webhook. Webhook is enabled by default. |
webhook_url | string | The full URL that you would like to send webhook event payloads to. |
events | array of strings | Webhook events. Some webhook events require read or write permissions for a resource before you can select the event when registering a new GitHub App. See the "GitHub App webhook events" section for available events and their required permissions. You can select multiple events in a query string. For example, events[]=public&events[]=label . |
domain | string | The URL of a content reference. |
single_file_name | string | This is a narrowly-scoped permission that allows the app to access a single file in any repository. When you set the single_file permission to read or write , this field provides the path to the single file your GitHub App will manage. If you need to manage multiple files, see single_file_paths below. |
single_file_paths | array of strings | This allows the app to access up ten specified files in a repository. When you set the single_file permission to read or write , this array can store the paths for up to ten files that your GitHub App will manage. These files all receive the same permission set by single_file , and do not have separate individual permissions. When two or more files are configured, the API returns multiple_single_files=true , otherwise it returns multiple_single_files=false . |
GitHub App permissions
You can select permissions in a query string using the permission name in the following table as the query parameter name and the permission type as the query value. For example, to select Read & write
permissions in the user interface for contents
, your query string would include &contents=write
. To select Read-only
permissions in the user interface for blocking
, your query string would include &blocking=read
. To select no-access
in the user interface for checks
, your query string would not include the checks
permission.
Permission | Description |
---|---|
administration | Grants access to various endpoints for organization and repository administration. Can be one of: none , read , or write . |
checks | Grants access to the Checks API. Can be one of: none , read , or write . |
content_references | Grants access to the "Create a content attachment" endpoint. Can be one of: none , read , or write . |
contents | Grants access to various endpoints that allow you to modify repository contents. Can be one of: none , read , or write . |
deployments | Grants access to the Deployments API. Can be one of: none , read , or write . |
emails | Grants access to the Emails API. Can be one of: none , read , or write . |
followers | Grants access to the Followers API. Can be one of: none , read , or write . |
gpg_keys | Grants access to the GPG Keys API. Can be one of: none , read , or write . |
issues | Grants access to the Issues API. Can be one of: none , read , or write . |
keys | Grants access to the Public Keys API. Can be one of: none , read , or write . |
members | Grants access to manage an organization's members. Can be one of: none , read , or write . |
organization_hooks | Grants access to the Organization Webhooks API. Can be one of: none , read , or write . |
organization_plan | Grants access to get information about an organization's plan using the "Get an organization" endpoint. Can be one of: none or read . |
organization_projects | Grants access to the Projects API. Can be one of: none , read , write , or admin . |
pages | Grants access to the Pages API. Can be one of: none , read , or write . |
plan | Grants access to get information about a user's GitHub plan using the "Get a user" endpoint. Can be one of: none or read . |
pull_requests | Grants access to various pull request endpoints. Can be one of: none , read , or write . |
repository_hooks | Grants access to the Repository Webhooks API. Can be one of: none , read , or write . |
repository_projects | Grants access to the Projects API. Can be one of: none , read , write , or admin . |
secret_scanning_alerts | Grants access to the Secret scanning API. Can be one of: none , read , or write . |
security_events | Grants access to the Code scanning API. Can be one of: none , read , or write . |
single_file | Grants access to the Contents API. Can be one of: none , read , or write . |
starring | Grants access to the Starring API. Can be one of: none , read , or write . |
statuses | Grants access to the Statuses API. Can be one of: none , read , or write . |
team_discussions | Grants access to the Team Discussions API and the Team Discussion Comments API. Can be one of: none , read , or write . |
vulnerability_alerts | Grants access to receive security alerts for vulnerable dependencies in a repository. See "About alerts for vulnerable dependencies" to learn more. Can be one of: none or read . |
watching | Grants access to list and change repositories a user is subscribed to. Can be one of: none , read , or write . |
GitHub App webhook events
Webhook event name | Required permission | Description |
---|---|---|
check_run | checks | チェックランのアクティビティが発生しました。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「check runs」 REST APIを参照してください。 |
check_suite | checks | チェックスイートのアクティビティが発生しました。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「check suites」 REST APIを参照してください。 |
commit_comment | contents | コミットコメントが作成されました。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「コミットコメント」 REST APIを参照してください。 |
content_reference | content_references | 新しいコンテンツ参照が作成されました 。 新しいコンテンツ参照は、IssueもしくはPull Requestのボディあるいはコメントが、設定されたコンテンツ参照ドメインにマッチする場合に作成されます。 詳しい情報については「コンテンツの添付ファイルの使用」を参照して、コンテンツ参照と添付ファイルについて学んでください。 |
create | contents | Gitブランチもしくはタグが作成されました。 詳しい情報については「Gitデータ」 REST APIを参照してください。 |
delete | contents | Gitブランチまたはタグが削除されました。 詳しい情報については「Gitデータ」 REST APIを参照してください。 |
deployment | deployments | デプロイメントが作成されました。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「デプロイメント」 REST APIを参照してください。 |
deployment_status | deployments | デプロイメントが作成されました。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「デプロイメントステータス」 REST APIを参照してください。 |
fork | contents | ユーザがリポジトリをフォークします。 詳しい情報については「forks」 REST APIを参照してください。 |
gollum | contents | wikiページが作成もしくは更新されました。 詳しい情報については「wikiについて」を参照してください。 |
issues | issues | Issueに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Issue」 REST APIを参照してください。 |
issue_comment | issues | IssueあるいはPull Requestコメントに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Issueコメント" REST APIを参照してください。 |
label | metadata | ラベルに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「ラベル」 REST APIを参照してください。 |
member | members | リポジトリのコラボレータに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「コラボレータ」 REST APIを参照してください。 |
membership | members | Teamのメンバーシップに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Teamメンバー」 REST APIを参照してください。 |
milestone | pull_request | マイルストーンに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「マイルストーン」 REST APIを参照してください。 |
organization | members | Organization及びそのメンバーと関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Organization」 REST APIを参照してください。 |
page_build | pages | 成功か否かにかかわらず、GitHub Pagesサイトの試行されたビルドを表します。 GitHub Pagesが有効化されたブランチ(プロジェクトのPagesならgh-pages 、ユーザ及びOrganizationのPagesならデフォルトブランチ)へのプッシュがこのイベントをトリガーします。 |
project | repository_projects or organization_projects | プロジェクトボードに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「プロジェクト」 REST APIを参照してください。 |
project_card | repository_projects or organization_projects | プロジェクトカードに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「プロジェクトカード」 REST APIを参照してください。 |
project_column | repository_projects or organization_projects | プロジェクトボード内の列に関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「プロジェクトの列」 REST APIを参照してください。 |
public | metadata | プライベートリポジトリがパブリックにされたとき。 間違いなく: 最高のGitHub Enterprise Serverイベント。 |
pull_request | pull_requests | Pull Requestに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Pull Request」 REST APIを参照してください。 |
pull_request_review | pull_request | Pull Requestレビューに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Pull Requestレビュー」 REST APIを参照してください。 |
pull_request_review_comment | pull_request | Pull Requestの統合diff中のPull Requestレビューコメントに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Pull Requestのレビューコメント」 REST APIを参照してください。 |
push | contents | リポジトリのブランチもしくはタグに、1つ以上のコミットがプッシュされました。 |
release | contents | リリースに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「リリース」 REST APIを参照してください。 |
repository | metadata | リポジトリに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「リポジトリ」 REST APIを参照してください。 |
status | statuses | Gitコミットのステータスが変化したとき。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「ステータス」 REST APIを参照してください。 |
team | members | OrganizationのTeamに関連するアクティビティ。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Team」 REST APIを参照してください。 |
team_add | members | リポジトリがTeamに追加された。 |
watch | metadata | 誰かがリポジトリにStarを付けたとき。 アクティビティのタイプは、ペイロードオブジェクトのaction プロパティで指定されます。 詳しい情報については「Star付け」 REST APIを参照してください。 |