Привет там, Github Developer! Таким образом, вы принимаете свой код на GitHub, и вы видели такие комментарии:
Зависимость и тысячи ботов, как это, как называются Приложения GitHub . Сегодня я научу вам сделать приложение GitHub и как перечислять его для покупки в Github Marketplace. Приложения GitHub были в течение нескольких лет, но стоят еще одного взгляда, так как платформа GitHub расширяется и улучшает.
О Github Apps.
Приложения GitHub — отличный способ программно взаимодействовать с GitHub:
- Гибкие, первый класс актеров на Github
- Безопасная, мелкозернистая модель разрешений
- Масштабируемая, выделенная скорость пределов
- Встроенные окна
Вам может понадобиться приложение GitHub для:
- Интеграция С GitHub, потенциально через Github Technology Partner Program Отказ Ваш программный продукт может подключиться, увеличить, а также вдохновлять разработчиков, где они работают в GitHub, Крупнейшая и самая передовая платформа развития в мире .
- Взаимодействие С GitHub на программной основе, например, из командных инструментов или CLI-DRIVEN рабочие процессы
GitHub Apps заменяют AAuth Apps , используются для постройки Действия GitHub и работайте на github.com и Github Enterprise одинаково. Некоторые API являются эксклюзивными для приложений GitHub — например, Проверяет и Содержание вложений Отказ
Приложение GitHub может быть запрограммировано на действие как сам , Как (Scoped) «Установка» или как один из его пользователей , если разрешено.
Также Приложения GitHub подходят вместе с действиями GitHub как арахисовое масло и желе, что рад. Так что давайте построим один! Сегодня я построю Простейшая вещь возможна , бот, который одобряет запрос на тягу, если «🤖» находится в заголовке.
Что будет Вы построить 👀?
Промонт, помощник помощника
Знать JavaScript? Здорово. Phbot — это Trusty Node.js Framework для создания приложений GitHub, и мы будем использовать его для проще следующих шагов:
- Создайте приложение Регистрируя набор разрешений, события веб -ook и метаданных
- Установите приложение как можно меньше или столько репозиторий, сколько вы хотите
- Используйте приложение сделать запросы на API GitHub
Создать приложение
В терминале с установленным Node.js введите NPX Create-Phrobot-App Pr-Bot
и следовать подсказкам, выбирая Basic-JS
как шаблон. CD PR-BOT
Когда установка сделана.
Откройте app.yml
В вашем любимом текстовом редакторе. Это однократное использование Second Spec или «Манифест» — конечно, настройки приложений могут быть изменены позже в https://github.com/settings/apps Отказ
Безотчетное default_events.pull_request
и изменить default_permissions.pull_requests
к Напишите
Отказ Когда вы закончите, это должно выглядеть так:
default_events: - pull_request default_permissions: metadata: read pull_requests: write description: A silly pull request bot! public: true
Теперь добавьте логику приложения в index.js
Отказ Добавьте этот блок чуть ниже строки, app.log.info («yay, приложение было загружено!»)
:
app.on( ["pull_request.opened", "pull_request.edited", "pull_request.reopened"], async (context) => { if (context.payload.pull_request.title.indexOf('🤖') > -1) { await context.octokit.pulls.createReview({ ...context.pullRequest(), event: 'APPROVE' }) } } );
context.octokit
дает нам доступ к аутентифицированному Octokit/rest.js клиент Сделать API GitHub API с легкостью. (PSST: проверить другую официальную и 3-е вечеринку Октокитные библиотеки Даже если вы не используете Phost!)
Вернуться в свой терминал, запустите NPM запустить начало
И затем нажмите «Зарегистрировать приложение GitHub» в http://localhost: 3000
:
Следуйте инструкциям, чтобы закончить создание приложения. Обратите внимание, что .env
Файл появился с некоторыми секретами только вы, как разработчик приложения, а именно App_id
С Private_key
и Webhook_secret
Отказ
Установите приложение
Следуйте инструкциям для установки приложения на всех или выберите репозитории. Это позволяет приложению «увидеть и отвечать» на ресурсы, которые вы настроили ранее ( pull_requests
), но только в этих репозиториях.
Используйте приложение
В одном из этих репозиториев открыть запрос на тягу. pull_request.
WebHook был получен, но нет «🤖» был в названии, так что PR-BOT
Остался тихо! Теперь добавьте «🤖» в заголовке и обратите внимание на одобрение!
Но вы не собираетесь использовать свою собственную машину в течение длительного времени 😉. Приложения Phbot — это просто Node.js приложения, поэтому они могут быть развернут на все условия, которые вы ожидаете.
Нет проблем, без проблем
До сих пор мы использовали Pто-проба в качестве помощника в хелперных рамках Создать , Установить и использовать Приложение для расширения нашего опыта на Github! Знаете ли вы, вы можете легко следовать этим шаблон даже без просмотра?
Создать приложение
Перейти к https://github.com/settings/apps/new и заполнить поля, с Создание приложения GitHub — Github Docs как ваше руководство. Теперь вы можете оценить сложность, который решает проба, используя Приложение манифест потока за кулисами.
Установите приложение
Посетите страницу вашего приложения на https://github.com/apps/yourAppname Чтобы начать процесс установки, как и раньше.
Используйте приложение
Теперь у вас должен быть Частный ключ , ID приложения (найден в верхней части страницы настроек приложения, https://github.com/settings/apps/yourappname ) и ID установки (через API или в URL-адреса Post-install, как HTTPS://github.com/settings/installations/1234567 ). Вы можете использовать их для формирования запросов API, либо вручную через один из Октокитные библиотеки или даже как действие Отказ
Проверьте это видео для прохождения пример, используя Go на Github Enterprise Server:
YouTube
Листинг в Github Marketplace
Github Marketplace Является ли одна остановка для Распределение вашего приложения с сообществом GitHub И даже позволяя разработчикам заплатить вам за это. Посмотреть Требования к листингу приложения — GitHub Docs Для получения инструкций!
Упаковка
Сегодня мы Создан, установлен и используется Простое приложение GitHub и подчеркивало несколько отличных функций о приложениях GitHub:
- Гибкая, мощная модель интеграции для создания богатых опытов и программного доступа к GitHub
- Можно обнаружить, куплен и продаваться на Github Marketplace
- Полностью поддерживается GitHub и широко используется интеграторами и разработчиками
Счастливый развивающийся! Увидимся!
Дополнительные ресурсы:
- https://github.com/github-developer/github-apps-cheat-sheet
- https://docs.github.com/en/rest/overview/libraries
- https://probot.github.io/
- https://docs.github.com/en/developers/apps
Оригинал: «https://dev.to/github/building-github-apps-for-fun-and-profit-4mid»