Сведения о GitHub Apps
GitHub App — это тип интеграции, который можно создать для взаимодействия и расширения функциональности GitHub. Вы можете создать GitHub App для обеспечения гибкости и снижения сложности процессов без необходимости входа пользователя или создания учетной записи службы.
Ниже перечислены распространенные варианты использования GitHub Apps:
- Автоматизация задач или фоновых процессов
- Поддержка функции "Вход с помощью GitHub", которая позволяет пользователям выполнять вход с помощью учетной записи GitHub для предоставления удостоверений в вашей экосистеме.
- Как средство разработчика, позволяющее пользователям работать с GitHub путем входа в GitHub App, который затем может действовать от их имени
- Интеграция средства или внешней службы с GitHub
Как и приложения OAuth, GitHub App используют OAuth 2.0 и могут действовать от имени пользователя. В отличие от приложений OAuth, GitHub Apps также могут действовать независимо от пользователя.
GitHub Apps могут устанавливаться непосредственно в организациях и личных учетных записях и получать доступ к определенным репозиториям. Они поставляются со встроенными веб-перехватчиками и конкретными разрешениями.
По умолчанию управлять настройками приложений GitHub в организации могут только владельцы организации. Чтобы разрешить дополнительным пользователям изменять параметры разработчика приложений GitHub, принадлежащих организации, владелец может предоставить им разрешения диспетчера приложений GitHub. Диспетчеры приложений GitHub не могут управлять сторонними приложениями. Дополнительные сведения о добавлении и удалении диспетчеров приложений GitHub в организации см. в разделе Роли в организации .
Создание GitHub App
Чтобы создать GitHub App, сначала необходимо зарегистрировать GitHub App. Дополнительные сведения см. в разделе Registering a GitHub App.
Затем необходимо написать код, чтобы добавить функциональные возможности в GitHub App. Учетные данные из регистрации GitHub App можно использовать для выполнения запросов к APIGitHub. Дополнительные сведения о написании кода для GitHub App см. в разделе About writing code for a GitHub App. Дополнительные сведения о выполнении запросов, прошедших проверку подлинности, см. в разделе Сведения о проверке подлинности с помощью Приложение GitHub.
После написания кода для GitHub App приложение должно где-то запуститься. Если приложение является веб-сайтом или веб-приложением, вы можете разместить приложение на сервере, например Служба приложений Azure. Если ваше приложение является клиентским, оно может выполняться на устройстве пользователя.
Чтобы использовать GitHub App, необходимо установить приложение в организации или личная учетная запись. Если GitHub App является частным, вы можете установить GitHub App только в учетной записи, владеющей приложением. Если GitHub App является общедоступным, другие пользователи и организации могут установить ваше приложение. Дополнительные сведения см. в разделах Установка собственного Приложение GitHub и Предоставление общего доступа к Приложение GitHub.
Общие сведения о типе GitHub App для сборки
Существует несколько способов проектирования GitHub App, которые вы хотите рассмотреть, в зависимости от функциональных возможностей приложения.
GitHub Apps, которые действуют от имени пользователя
Если вы хотите, чтобы приложение следовало выполнять действия от имени пользователя, следует использовать маркер доступа пользователя для проверки подлинности. Этот тип запроса иногда называется "от пользователя к серверу", и это означает, что приложение будет ограничено разрешениями, предоставленными приложению, а также разрешениями пользователя. При использовании этого шаблона пользователь должен авторизовать приложение, прежде чем оно сможет выполнить действие. Дополнительные сведения см. в разделе Проверка подлинности с помощью Приложение GitHub от имени пользователя.
Ниже приведены некоторые примеры автоматизации, которые можно создать с помощью GitHub App, где приложение действует от имени пользователя:
- GitHub App, который использует GitHub в качестве поставщика удостоверений для вашей экосистемы.
- GitHub App, который добавляет службу поверх GitHub.com, которая может быть полезна пользователю GitHub. Вы можете поделиться приложением с другими разработчиками с помощью GitHub Marketplace или сделав приложение общедоступным.
GitHub Apps, которые действуют от своего имени
Если вы хотите, чтобы приложение должно выполнять действия от имени самого себя, а не от имени пользователя, следует использовать маркер доступа установки для проверки подлинности. Этот тип запроса иногда называют "сервер-сервер", и это означает, что приложение будет ограничено разрешениями, предоставленными приложению. Дополнительные сведения см. в разделе Проверка подлинности в качестве установки Приложение GitHub.
Ниже приведены некоторые примеры автоматизации, которые можно создать с помощью GitHub App, где приложение действует от своего имени:
- GitHub App, который использует веб-перехватчики для реагирования на событие с учетом определенного набора критериев. Например, можно создать автоматизацию, которая использует конечные точки REST API для меток, чтобы добавить метку к каждой новой проблеме, созданной в репозитории, с учетом определенного набора критериев.
- GitHub App, который помогает участникам репозитория. Например, приложение может публиковать полезные ресурсы после того, как участник создаст запрос на вытягивание или сделает комментарий.
- GitHub App, который создает кратковременные маркеры для предоставления другим средствам CI/CD или извлечения сведений из репозитория.
GitHub Apps, которые реагируют на веб-перехватчики
Если вы хотите, чтобы приложение отвечало на события в GitHub, оно должно подписаться на веб-перехватчики. Например, может потребоваться, чтобы приложение оставило комментарий при открытии запроса на вытягивание. Дополнительные сведения см. в разделе Использование веб-перехватчиков с приложениями GitHub.
GitHub Apps, которые могут выполнять определенные действия
При настройке GitHub App можно выбрать определенные разрешения для приложения. Эти разрешения определяют, что приложение может делать с помощью API GitHub, что оно может делать от имени вошедшего пользователя и какие веб-перехватчики может получить приложение. Дополнительные сведения см. в разделе Выбор разрешений для Приложение GitHub.