The Wayback Machine - https://web.archive.org/web/20230105225555/https://docs.github.com/ru/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters
Skip to main content

Создание GitHub App с использованием параметров URL-адреса

Вы можете предварительно выбрать параметры нового GitHub App с помощью параметров запроса URL-адреса, чтобы быстро настроить новую конфигурацию GitHub App.

Сведения параметрах URL-адреса GitHub App

Вы можете добавить параметры запроса к этим URL-адресам, чтобы предварительно выбрать конфигурацию GitHub App в личной учетной записи или учетной записи организации:

  • Личная учетная запись: https://github.com/settings/apps/new
  • Учетная запись организации: https://github.com/organizations/:org/settings/apps/new

Пользователь, создающий приложение, может изменить предварительно выбранные значения на странице регистрации GitHub App перед отправкой приложения. Если вы не включите обязательные параметры в строку запроса URL-адреса, например name, пользователь, создающий приложение, должен будет ввести значение перед отправкой приложения.

Для приложений, которым требуется секрет для защиты веб-перехватчика, значение секрета должно быть установлено в форме пользователем, создающим приложение, а не с помощью параметров запроса. Дополнительные сведения см. в разделе Обеспечение безопасности веб-перехватчиков.

Следующий URL-адрес создает новое общедоступное приложение с именем octocat-github-app с предварительно настроенным описанием и URL-адресом обратного вызова. Этот URL-адрес также выбирает разрешения на чтение и запись для checks, подписывается на события веб-перехватчика check_run и check_suite, а также выбирает вариант запроса авторизации пользователя (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

ИмяТипОписание
namestringИмя GitHub App. Присвойте своему приложению краткое и понятное имя. Это имя должно отличаться от имени существующего пользователя GitHub, если только это не ваше собственное имя пользователя или организации. Краткая версия имени вашего приложения будет отображаться в пользовательском интерфейсе, когда ваша интеграция выполнит действие.
descriptionstringОписание GitHub App.
urlstringПолный URL-адрес домашней страницы сайта GitHub App.
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_urlstringПолный URL-адрес для перенаправления после установки GitHub App, если для приложения требуется дополнительная настройка после установки.
setup_on_updatebooleanЗадайте значение true, чтобы перенаправлять людей на URL-адрес настройки при обновлении установок, например после добавления или удаления репозиториев.
publicbooleanЗадайте значение true, если приложение GitHub App доступно для всех пользователей, или false — если оно доступно только владельцу.
webhook_activebooleanЗадайте значение false, чтобы отключить веб-перехватчик. Веб-перехватчик включен по умолчанию.
webhook_urlstringПолный URL-адрес, на который вы хотите отправлять полезные данные события веб-перехватчика.
eventsarray of stringsСобытия веб-перехватчика. Для некоторых событий веб-перехватчика необходимо получить разрешения read или write для ресурса, прежде чем выбрать событие при регистрации нового GitHub App. Сведения о доступных событиях и необходимых для них разрешениях см. в разделе События веб-перехватчика GitHub App. Вы можете выбрать несколько событий в строке запроса. Например, events[]=public&events[]=label.
single_file_namestringЭто узкоспециализированное разрешение, позволяющее приложению получать доступ к одному файлу в любом репозитории. При задании разрешения read или write для single_file в этом поле указывается путь к одному файлу, которым будет управлять GitHub App. Если вам нужно управлять несколькими файлами, см. single_file_paths ниже.
single_file_pathsarray of stringsЭтот параметр позволяет приложению получить доступ к десяти указанным файлам в репозитории. При задании разрешения read или write для single_file этот массив может хранить пути до десяти файлов, которыми будет управлять GitHub App. Все эти файлы получают одно и то же разрешение, заданное single_file, и не имеют отдельных индивидуальных разрешений. При настройке двух или более файлов API возвращает multiple_single_files=true, в противном случае возвращается multiple_single_files=false.

Разрешения GitHub App

Вы можете выбрать разрешения в строке запроса, используя имя разрешения из приведенной ниже таблицы в качестве имени параметра запроса и тип разрешения в качестве значения запроса. Например, чтобы выбрать разрешения Read & write в пользовательском интерфейсе для contents, в строке запроса нужно указать &contents=write. Чтобы выбрать разрешения Read-only в пользовательском интерфейсе для &blocking=read, в строке запроса нужно указать blocking. Чтобы выбрать no-access в пользовательском интерфейсе для checks, ваша строка запроса не должна содержать разрешение checks.

РазрешениеОписание
administrationПредоставляет доступ к различным конечным точкам для администрирования организации и репозитория. Это может быть none, read или write.
blockingПредоставляет доступ к API блокирования пользователей. Это может быть none, read или write.
checksПредоставляет доступ к API проверок. Это может быть none, read или write.
contentsПредоставляет доступ к различным конечным точкам, которые позволяют изменять содержимое репозитория. Это может быть none, read или write.
deploymentsПредоставляет доступ к API развертываний. Это может быть none, read или write.
emailsПредоставляет доступ к API сообщений электронной почты. Это может быть none, read или write.
followersПредоставляет доступ к API подписчиков. Это может быть none, read или write.
gpg_keysПредоставляет доступ к API ключей GPG. Это может быть none, read или write.
issuesПредоставляет доступ к API проблем. Это может быть none, read или write.
keysПредоставляет доступ к API открытых ключей. Это может быть none, read или write.
membersПредоставляет доступ для управления участниками организации. Это может быть none, read или write.
metadataПредоставляет доступ к конечным точкам только для чтения, которые не допускают утечки конфиденциальных данных. Может иметь значение read или none. Если вы устанавливаете для GitHub App какое-либо разрешение, по умолчанию задается значение read. Если же вы не указываете никаких разрешений, по умолчанию задается значение none.
organization_administrationПредоставляет доступ к конечной точке Обновление организации и API ограничений взаимодействия с организацией. Это может быть none, read или write.
organization_hooksПредоставляет доступ к API веб-перехватчиков организации. Это может быть none, read или write.
organization_planПредоставляет доступ для получения сведений о плане организации с помощью конечной точки Получение организации. Это может быть none или read.
organization_projectsПредоставляет доступ к API проектов. Это может быть none, read, write или admin.
organization_user_blockingПредоставляет доступ к API блокирования пользователей организации. Это может быть none, read или write.
pagesПредоставляет доступ к API страниц. Это может быть none, read или write.
planПредоставляет доступ для получения сведений о плане GitHub пользователя с помощью конечной точки Получение пользователя. Это может быть none или read.
pull_requestsПредоставляет доступ к различным конечным точкам запросов на вытягивание. Это может быть none, read или write.
repository_hooksПредоставляет доступ к API веб-перехватчиков репозитория. Это может быть none, read или write.
repository_projectsПредоставляет доступ к API проектов. Это может быть none, read, write или admin.
security_eventsПредоставляет доступ к API сканирования кода. Это может быть none, read или write.
single_fileПредоставляет доступ к API содержимого. Это может быть none, read или write.
starringПредоставляет доступ к API пометки звездочкой. Это может быть none, read или write.
statusesПредоставляет доступ к API состояний. Это может быть none, read или write.
team_discussionsПредоставляет доступ к API обсуждений в команде и API комментария к обсуждению в команде. Это может быть none, read или write.
vulnerability_alertsПредоставляет доступ для получения Dependabot alerts в репозитории. Дополнительные сведения см. на странице Сведения о Dependabot alerts. Это может быть none, read или write.
watchingПредоставляет доступ к репозиториям списков и изменений, на которые подписан пользователь. Это может быть none, read или write.

События веб-перехватчика GitHub App

Имя события веб-перехватчикаТребуемое разрешениеОписание
check_runchecksПроизошло действие выполнения проверок. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API "Выполнения проверок".
check_suitechecksПроизошло действие набора проверок. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API "Наборы проверок".
commit_commentcontentsСоздается комментарий к фиксации. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API "комментарий к фиксации".
createcontentsСоздается ветвь или тег Git. Дополнительные сведения см. в статье о REST API "База данных Git".
deletecontentsУдаляется ветвь или тег Git. Дополнительные сведения см. в статье о REST API "База данных Git".
deploymentdeploymentsСоздается развертывание. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API развертывания.
deployment_statusdeploymentsСоздается развертывание. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API развертываний.
forkcontentsПользователь создает вилку репозитория. Дополнительные сведения см. в разделе Создание вилок REST API.
gollumcontentsВики-страница создается или обновляется. Дополнительные сведения см. в статье "Сведения о вики-страницах".
issuesissuesДействие, связанное с проблемой. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API проблем.
issue_commentissuesДействия, связанные комментарием к проблеме или запросу на вытягивание. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе о REST API комментариев к проблемам.
labelmetadataДействие, связанное с меткой. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API меток.
membermembersДействия, связанные с участниками совместной работы в репозитории. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API участников совместной работы.
membershipmembersДействие, связанное с членством в команде. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API членов команды.
milestonepull_requestДействия, связанные с вехами. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API вех.
org_blockorganization_administrationДействие, связанное с блокировкой людей в организации. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API блокировки пользователей организации.
organizationmembersДействие, связанное с организацией и ее членами. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API организаций.
page_buildpagesПредставляет попытку сборки сайта GitHub Pages, независимо от успешности ее выполнения. Это событие активируется при отправке в ветвь с поддержкой GitHub Pages (gh-pages для страниц проекта, ветвь по умолчанию для страниц пользователей и организаций).
projectrepository_projects или organization_projectsДействие, связанное с классические проекты. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе проекты REST API.
project_cardrepository_projects или organization_projectsДействие, связанное с карточками в классический проект. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API карточек проектов.
project_columnrepository_projects или organization_projectsДействие, связанное со столбцами, которые содержит классический проект. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе столбцы проекта REST API.
publicmetadataКогда частный репозиторий становится общедоступным. Без сомнения: лучшее событие GitHub.
pull_requestpull_requestsДействия, связанные с запросами на вытягивание. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе о REST API запросов на вытягивание.
pull_request_reviewpull_requestДействия, связанные с проверками запросов на вытягивание. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе о REST API проверок запросов на вытягивание.
pull_request_review_commentpull_requestДействия, связанные с комментариями к проверке запроса на вытягивание в едином различии запроса на вытягивание. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе о REST API комментариев к проверкам запросов на вытягивание.
pull_request_review_threadpull_requestДействие, связанное с отметкой ветви обсуждения по запросу на включение внесенных изменений как завершенной или незавершенной. Тип действия указывается в свойстве action объекта полезных данных.
pushcontentsОдна или несколько фиксаций отправляются в ветвь репозитория или тег.
releasecontentsДействие, связанное с выпуском. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API выпуски.
repositorymetadataДействие, связанное с репозиторием. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе о REST API репозиториев.
repository_dispatchcontentsПозволяет интеграторам, использующим GitHub Actions, запускать пользовательские события.
statusstatusesПри изменении состояния фиксации в GIT. Дополнительные сведения см. в описании REST API состояний.
teammembersДействие, связанное с командой организации. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в статье о REST API команд.
team_addmembersПри добавлении репозитория для команды.
watchmetadataКогда кто-то запускает репозиторий. Тип действия указывается в свойстве action объекта полезных данных. Дополнительные сведения см. в разделе Пометка звездочкой REST API.