关于注册 GitHub 应用的 URL 参数
你可以使用 URL 参数预先选择新 GitHub 应用注册的配置设置,并与其他人共享自定义链接。该链接将引导用户访问 GitHub 应用注册页面,其中应用设置将根据你包含在 URL 中的 URL 参数预先填充。
此方法对于希望客户在其个人帐户或组织中设置具有特定规范的应用的集成商,或对于无法从 GitHub Marketplace 安装应用的 GitHub Enterprise Server 用户非常有用。
或者,你可以创建 GitHub 应用清单。有关更多信息,请参阅“从清单注册 GitHub 应用”。
使用查询参数创建自定义配置 URL
要在个人或组织帐户上为 GitHub 应用创建自定义配置 URL,请在以下基本 URL 后添加查询参数。
- 要在个人帐户上注册应用,请将 URL 参数添加到:
https://github.com/settings/apps/new
- 要在组织帐户上注册应用,请将 URL 参数添加到:
https://github.com/organizations/ORGANIZATION/settings/apps/new
。将ORGANIZATION
替换为希望客户在其中注册应用的组织的名称。
在应用注册页面上,注册应用的人员可以在提交应用之前编辑预选值。如果你未在 URL 查询字符串中包含必需值(如 name
)的参数,则注册应用的人员在注册应用之前需要输入一个值。
例如,以下 URL 在个人帐户上注册了一个名为 octocat-github-app
的新公共应用。通过使用查询参数,该 URL 预先配置了描述和回调 URL。它还为 checks
选择了读写权限,使用 webhook_active
参数激活了 Webhook,订阅了 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&webhook_active=true&events[]=check_run&events[]=check_suite
GitHub 应用配置参数
你可以使用以下查询参数为 GitHub 应用注册选择特定配置。例如,要将应用命名为“octocat-github-app”,你的查询字符串应包含 name=octocat-github-app
。
参数名称 | 类型 | 说明 |
---|---|---|
名称 | 字符串 | GitHub App 的名称。为您的应用起一个清晰简洁的名称。您的应用不能与现有的 GitHub 用户同名,除非是您自己的用户或组织名称。当您的集成执行操作时,用户界面中将显示应用名称的 slug 化版本。 |
说明 | 字符串 | GitHub App 的说明。 |
URL | 字符串 | GitHub App 网站主页的完整 URL。 |
回调 URL | 字符串数组 | 在某人授权安装后重定向到的完整 URL。您最多可以提供 10 个回调 URL。如果您的应用需要生成用户访问令牌,则会使用这些 URL。例如,callback_urls[]=https://example.com&callback_urls[]=https://example-2.com 。有关更多信息,请参阅“关于用户授权回调 URL”。 |
安装时请求 OAuth | 布尔值 | 如果您的应用使用 OAuth 流程授权用户,您可以将此选项设置为 true ,以允许人们在安装应用时授权应用,从而节省一步。如果您选择此选项,则 setup_url 将不可用,并且用户在安装应用后将被重定向到您的 callback_url 。 |
设置 URL | 字符串 | 如果应用在安装后需要进行其他设置,则在某人安装 GitHub App 后重定向到的完整 URL。有关更多信息,请参阅“关于设置 URL”。 |
更新时设置 | 布尔值 | 设置为 true ,以便在安装更新时(例如,添加或删除存储库后)将人们重定向到设置 URL。 |
公开 | 布尔值 | 当您的 GitHub App 对公众可用时设置为 true ,当它仅对应用所有者可访问时设置为 false 。 |
Webhook 活动 | 布尔值 | 设置为 true 以启用 Webhook。Webhook 默认情况下处于禁用状态。 |
Webhook URL | 字符串 | 您希望向其发送 Webhook 事件有效负载的完整 URL。 |
事件 | 字符串数组 | Webhook 事件。在注册新的 GitHub App 时,某些 Webhook 事件需要对资源具有 read 或 write 权限,然后才能选择该事件。有关更多信息,请参阅“GitHub App Webhook 事件”部分。您可以在查询字符串中选择多个事件。例如,events[]=public&events[]=label 。 |
single_file_name | 字符串 | 这是一个范围狭窄的权限,允许应用访问任何存储库中的单个文件。当你将 single_file 权限设置为 read 或 write 时,此字段提供 GitHub 应用将管理的单个文件的路径。如果你需要管理多个文件,请参见下面的 single_file_paths 。 |
single_file_paths | 字符串数组 | 这允许应用访问存储库中最多十个指定的文件。当你将 single_file 权限设置为 read 或 write 时,此数组可以存储 GitHub 应用将管理的多达十个文件的路径。这些文件全部接收由 single_file 设置的相同权限集,并且没有单独的个人权限。当配置两个或更多文件时,API 返回 multiple_single_files=true ,否则返回 multiple_single_files=false 。 |
GitHub 应用权限
你可以使用查询参数来选择 GitHub 应用注册的权限。对于 URL 查询参数,请使用权限名称作为查询参数名称,并将查询值设置为该权限集的可能值之一。
例如,要在用户界面中选择 contents
的“读写”权限,你的查询字符串将包含 contents=write
。要在用户界面中选择 blocking
的“只读”权限,你的查询字符串将包含 blocking=read
。要在用户界面中为 checks
选择“无访问权限”,你的查询字符串将不包含 checks
权限。
有关权限和 GitHub 应用的更多信息,请参见“为 GitHub 应用选择权限”。
GitHub 应用 Webhook 事件
你可以使用查询参数来启用 GitHub 应用 Webhook,指定 Webhook URL,并订阅应用以接收特定事件的 Webhook 有效负载。
要启用 GitHub 应用 Webhook,请在查询字符串中使用 webhook_active=true
。要指定要向其发送 Webhook 事件有效负载的完整 URL,请在查询字符串中使用 webhook_url
。要订阅应用到特定 Webhook 有效负载事件,请使用 events[]
作为查询参数名称,并将查询值设置为 Webhook 事件的名称。有关可能的 Webhook 事件和订阅每个事件所需的 GitHub 应用权限的更多信息,请参见“Webhook 事件和有效负载”。
例如,要订阅 GitHub 应用以接收与提交评论相关的活动的 Webhook 有效负载,查询字符串将包含 &webhook_active=true&webhook_url=https://example.com&events[]=commit_comment
。请注意,commit_comment
Webhook 事件要求 GitHub 应用至少具有“内容”存储库权限的读取级别访问权限。因此,你的查询字符串还应包含一个参数,将 contents
权限设置为 read
或 write
。有关更多信息,请参见“GitHub 应用权限”。
你无法使用查询参数来设置 Webhook 密钥的值。如果应用需要密钥来保护其 Webhook,则注册应用的人员必须在 GitHub UI 中设置密钥的值。
有关 Webhook 和 GitHub 应用的更多信息,请参阅“在 GitHub 应用中使用 Webhook”。