Skip to main content

Enterprise Server 3.15 в настоящее время доступен в качестве кандидата на выпуск.

Создание приложений 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 можно использовать для выполнения прошедших проверку подлинности запросов к API GitHub. Дополнительные сведения о написании кода для GitHub Appсм. в разделе "Написание кода для приложения GitHub". Дополнительные сведения о выполнении аутентифицированных запросов см. в разделе "Сведения о проверке подлинности с помощью приложения GitHub".

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

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

  • Если данные GitHub App являются частными, его можно установить только в учетной записи, принадлежащей приложению.
  • Если ваш GitHub App является общедоступным, другие пользователи и организации также могут установить его.{ % ifversion enterprise-apps-public-beta %}
  • Если ваш GitHub App принадлежит организации, ее можно установить в любой организации в этой организации.{ % endif %}

Дополнительные сведения см. в разделе "[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можно выбрать определенные разрешения для приложения. Эти разрешения определяют, что может сделать приложение с помощью API GitHub, что они могут делать от имени пользователя, вошедшего в систему, и какие веб-перехватчики могут получать приложения. Дополнительные сведения см. в разделе Выбор разрешений для приложения GitHub.