Skip to main content

О создании приложений GitHub

GitHub Apps позволяет создавать интеграции для автоматизации процессов и расширения GitHubфункциональных возможностей.

Около GitHub Apps

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

Типичные сценарии использования для GitHub Apps включают:

  • Автоматизация задач или фоновых процессов
  • Поддержка "Вход с GitHubпомощью", которая позволяет пользователям входить с GitHub учетной записью для предоставления удостоверений в вашей экосистеме.
  • Как средство разработчика, позволяющее пользователям работать с GitHub пользователем, выполнив вход в систему GitHub App, который затем может действовать от своего имени.
  • Интеграция средства или внешней службы с GitHub

Например OAuth apps, GitHub Apps используйте OAuth 2.0 и можете действовать от имени пользователя. В отличие от OAuth appsпользователя, GitHub Apps также может действовать независимо от пользователя.

GitHub Apps можно установить непосредственно на организации и личные учетные записи и предоставить доступ к определенным репозиториям. Они поставляются со встроенными веб-перехватчиками и конкретными разрешениями.

По умолчанию управлять настройками приложений GitHub в организации могут только владельцы организации. Чтобы разрешить дополнительным пользователям изменять параметры разработчика приложений GitHub, принадлежащих организации, владелец может предоставить им разрешения диспетчера приложений GitHub. Диспетчеры приложений GitHub не могут управлять сторонними приложениями. Дополнительные сведения о добавлении и удалении диспетчеров приложений GitHub в организации см. в разделе Роли в организации.

Создание GitHub App

Чтобы создать объект GitHub App, сначала необходимо зарегистрировать GitHub App. Дополнительные сведения см. в разделе Регистрация приложения GitHub.

Затем необходимо написать код для добавления функциональных возможностей в ваш GitHub App. Вы можете использовать учетные данные из GitHub App регистрации, чтобы выполнить прошедшие проверку подлинности запросы к GitHubAPI. Дополнительные сведения о написании кода для вашего приложения GitHub Appсм. в разделе О написании кода для приложения GitHub. Дополнительные сведения о выполнении аутентифицированных запросов см. в разделе Об аутентификации с помощью приложения GitHub.

Когда вы напишете код для вашего GitHub Appприложения, приложение должно выполняться где-то. Если ваше приложение — сайт или веб-приложение, вы можете разместить его на сервере вроде Служба приложений Azure. Если ваше приложение является клиентским приложением, оно может работать на устройстве пользователя.

Чтобы использовать вашу GitHub Appучетную запись, необходимо установить ее в вашей организации или личной учетной записи.

  • Если вы GitHub Appявляетесь частным, его можно установить только в учетной записи, владеющей приложением.
  • Если ваша GitHub Appобщедоступная, другие учетные записи также могут установить его. Только члены предприятия могут войти в него.

Дополнительные сведения см. в разделе [AUTOTITLE и Установка собственного приложения GitHub](/apps/sharing-github-apps/sharing-your-github-app).

Общие сведения о типе сборки GitHub App

Существует несколько способов разработки GitHub App необходимого решения на основе функциональных возможностей, которые требуется использовать для приложения.

GitHub Apps это действие от имени пользователя

Если приложение должно выполнять действия от имени пользователя, следует использовать маркер доступа пользователя для проверки подлинности. Этот тип запроса иногда называется "пользователь — сервер", и это означает, что приложение будет ограничено разрешениями, предоставленными приложению, а также разрешением пользователя. С помощью этого шаблона пользователь должен авторизовать приложение, прежде чем приложение сможет принять меры. Дополнительные сведения см. в разделе Аутентификация с помощью приложения GitHub от имени пользователя.

Ниже приведены примеры автоматизации, которые можно создать с GitHub Appпомощью приложения, где приложение действует от имени пользователя:

  • Объект, GitHub App который используется GitHub в качестве поставщика удостоверений для вашей экосистемы.
  • Это GitHub App может GitHub быть полезно для GitHub пользователя. Вы можете поделиться приложением с другими разработчиками с помощью GitHub Marketplace или сделать приложение общедоступным.

GitHub Apps это действует от собственного имени

Если вы хотите, чтобы ваше приложение действовать от имени себя, а не пользователя, следует использовать маркер доступа к установке для проверки подлинности. Этот тип запроса иногда называется сервером и сервером, и это означает, что приложение будет ограничено разрешениями, предоставленными приложению. Дополнительные сведения см. в разделе Аутентификация как установка приложения GitHub.

Некоторые примеры автоматизации, которые можно создать с GitHub Appпомощью приложения, где приложение действует от своего имени, включает в себя:

  • Объект GitHub App , использующий веб-перехватчики для реагирования на событие с определенным набором критериев. Например, можно создать автоматизацию для конечных точек REST API для проверки запросов, fine-grained personal access token для того чтобы утвердить запрос, заданный определенной политикой.
  • Это GitHub App помогает участникам репозитория. Например, приложение может публиковать полезные ресурсы после того, как участник создает запрос на вытягивание или делает комментарий.
  • Объект, GitHub App который создает короткие маркеры для предоставления другим средствам CI/CD или извлечения сведений из репозитория.

GitHub Apps реагирование на веб-перехватчики

Если вы хотите, чтобы приложение ответило на события GitHub, ваше приложение должно подписаться на веб-перехватчики. Например, может потребоваться, чтобы приложение оставило комментарий при открытии запроса на вытягивание. Дополнительные сведения см. в разделе Использование вебхуков с приложениями GitHub.

GitHub Apps которые могут выполнять определенные действия

При настройке GitHub Appприложения можно выбрать определенные разрешения. Эти разрешения определяют, что приложение может делать через GitHub API, что они могут делать от имени пользователя, вошедшего в систему, и какие веб-перехватчики могут получить приложение. Дополнительные сведения см. в разделе Выбор разрешений для приложения GitHub.