跳至主要内容

使用 URL 参数注册 GitHub 应用

您可以使用 URL 查询参数帮助其他人快速设置一个新的 GitHub 应用,并使用您预先选择的特定配置。

关于注册 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_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&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 事件需要对资源具有 readwrite 权限,然后才能选择该事件。有关更多信息,请参阅“GitHub App Webhook 事件”部分。您可以在查询字符串中选择多个事件。例如,events[]=public&events[]=label
single_file_name字符串这是一个范围狭窄的权限,允许应用访问任何存储库中的单个文件。当你将 single_file 权限设置为 readwrite 时,此字段提供 GitHub 应用将管理的单个文件的路径。如果你需要管理多个文件,请参见下面的 single_file_paths
single_file_paths字符串数组这允许应用访问存储库中最多十个指定的文件。当你将 single_file 权限设置为 readwrite 时,此数组可以存储 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 权限设置为 readwrite。有关更多信息,请参见“GitHub 应用权限”。

你无法使用查询参数来设置 Webhook 密钥的值。如果应用需要密钥来保护其 Webhook,则注册应用的人员必须在 GitHub UI 中设置密钥的值。

有关 Webhook 和 GitHub 应用的更多信息,请参阅“在 GitHub 应用中使用 Webhook”。