{"meta":{"title":"Быстрый старт для создания приложений GitHub","intro":"Быстро создайте GitHub App, которые примечают к запросам на вытягивание.","product":"Приложения","breadcrumbs":[{"href":"/ru/apps","title":"Приложения"},{"href":"/ru/apps/creating-github-apps","title":"Создание приложений на GitHub"},{"href":"/ru/apps/creating-github-apps/writing-code-for-a-github-app","title":"Написание кода для приложения GitHub"},{"href":"/ru/apps/creating-github-apps/writing-code-for-a-github-app/quickstart","title":"Быстрое начало"}],"documentType":"article"},"body":"# Быстрый старт для создания приложений GitHub\n\nБыстро создайте GitHub App, которые примечают к запросам на вытягивание.\n\n## Введение\n\nGitHub Apps позволяет автоматизировать процессы или интегрировать другие платформы с GitHub. Дополнительные сведения см. в разделе [О создании приложений GitHub](/ru/apps/creating-github-apps/creating-github-apps/about-apps).\n\nВ этом кратком руководстве описывается, как быстро создать GitHub App. Когда запрос на вытягивание открывается в репозитории, к которому был предоставлен доступ, приложение добавит комментарий к запросу на вытягивание.\n\nВ этом кратком руководстве используется предварительно написанный код, помогающий быстро приступить к работе. Более подробное руководство по написанию кода см. в разделе [Создание приложения GitHub, которое реагирует на события webhook](/ru/apps/creating-github-apps/guides/building-a-github-app-that-responds-to-webhook-events).\n\n## Необходимые компоненты\n\nКомпьютер или пространство кода должно использовать Node.js версии 12 или более поздней. Дополнительные сведения см. в Node.js[](https://nodejs.org).\n\n## Шаг 1. Клонирование кода приложения\n\nЧтобы быстро приступить к работе, мы написали код, который можно использовать. Если вы хотите узнать, как самостоятельно писать код, см [. раздел AUTOTITLE](/ru/apps/creating-github-apps/guides/building-a-github-app-that-responds-to-webhook-events).\n\n1. Клонируйте репозиторий [github/github-app-js-sample](https://github.com/github/github-app-js-sample) . Дополнительные сведения см. в разделе [Клонирование репозитория](/ru/repositories/creating-and-managing-repositories/cloning-a-repository). Вы можете использовать локальный клон или GitHub Codespaces.\n2. В окне терминала перейдите в каталог, в котором хранится клон.\n3. Запустите `npm install`, чтобы установить зависимости.\n\n## Шаг 2. Получение URL-адреса прокси-сервера веб-перехватчика\n\nДля локальной разработки приложения можно использовать URL-адрес прокси-сервера веб-перехватчика для пересылки веб-перехватчиков из GitHub на компьютер или пространство кода. В этом кратком руководстве используется Smee.io для предоставления URL-адреса прокси-сервера веб-перехватчика и перенаправления веб-перехватчиков.\n\n1. В браузере перейдите по адресу <https://smee.io/>.\n2. Нажмите кнопку \" **Пуск нового канала**\".\n3. Скопируйте полный URL-адрес в разделе \"URL-адрес прокси-сервера веб-перехватчика\". Этот URL-адрес будет использоваться на следующем шаге.\n\n## Шаг 3. Регистрация GitHub App\n\nНиже приведены инструкции по настройке параметров приложения, необходимых для работы с этим кратким руководством. Дополнительные сведения о параметрах см. в разделе [Регистрация приложения GitHub](/ru/apps/creating-github-apps/creating-github-apps/creating-a-github-app).\n\n1. В правом верхнем углу любой страницы на GitHubщелкните рисунок профиля.\n2. Перейдите к настройкам учетной записи.\n   * Для приложения, принадлежащих личная учетная запись, нажмите кнопку **\"Параметры**\".\n   * Для приложения, принадлежащих организации:\n     1. Щелкните **Your organizations** (Ваши организации).\n     2. Справа от организации нажмите кнопку **\"Параметры**\".\n3. На левой боковой панели щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code\" aria-label=\"code\" role=\"img\"><path d=\"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"></path></svg> Параметры разработчика**.\n4. На левой боковой панели щелкните **GitHub Apps**.\n5. Щелкните **\"Создать\" GitHub App**.\n6. В поле \"GitHub App name\" введите имя приложения. Например, `USERNAME-quickstart-app` где `USERNAME` находится имя пользователя GitHub.\n7. В разделе \"URL-адрес домашней страницы\" введите `https://github.com/github/github-app-js-sample#readme`.\n8. Пропустите разделы \"Идентификация и авторизация пользователей\" и \"После установки\" для этого краткого руководства. Дополнительные сведения об этих параметрах см. в разделе [Регистрация приложения GitHub](/ru/apps/creating-github-apps/creating-github-apps/creating-a-github-app).\n9. Убедитесь, что **параметр \"Активный** \" выбран в разделе \"Веб-перехватчики\".\n10. В разделе \"URL-адрес веб-перехватчика\" введите URL-адрес прокси-сервера веб-перехватчика ранее. Дополнительные сведения см. в шаге [2. Получение URL-адреса](#step-2-get-a-webhook-proxy-url) прокси-сервера веб-перехватчика.\n11. В разделе \"Секрет веб-перехватчика\" введите случайную строку. Эта строка будет использоваться позже.\n12. В разделе \"Разрешения репозитория\" рядом с пунктом \"Запросы на вытягивание\" выберите **\"Чтение и запись**\".\n13. В разделе \"Подписка на события\" выберите **запрос на вытягивание**.\n14. В разделе \"Где можно установить данные GitHub App?\", выберите **только в этой учетной записи**.\n15. Нажмите кнопку **\"Создать GitHub App**.\n\n## Шаг 4. Хранение сведений и учетных данных\n\nВ этом кратком руководстве вы сохраните учетные данные приложения и определите сведения в качестве переменных среды в `.env` файле. При развертывании приложения необходимо изменить способ хранения учетных данных. Дополнительные сведения см. в разделе [\"Развертывание приложения](#deploy-your-app)\".\n\nПрежде чем выполнять эти действия, убедитесь, что вы находитесь на защищенном компьютере, так как вы будете хранить учетные данные локально.\n\n### Создайте файл `.env` .\n\nКлонированные репозитории включаются `.env` в `.gitignore` файл. Это позволит предотвратить случайное фиксацию учетных данных приложения. Дополнительные сведения о файлах см. в `.gitignore` разделе [Пропуск файлов](/ru/get-started/git-basics/ignoring-files).\n\n1. Перейдите в каталог, [в котором хранится клон github/github-app-js-sample](https://github.com/github/github-app-js-sample) .\n2. Создайте файл, вызывающийся `.env` на верхнем уровне этого каталога.\n3. Добавьте в файл следующее содержимое `.env` . Вы обновите значения на следующем шаге.\n\n   ```text copy\n   APP_ID=\"YOUR_APP_ID\"\n   WEBHOOK_SECRET=\"YOUR_WEBHOOK_SECRET\"\n   PRIVATE_KEY_PATH=\"YOUR_PRIVATE_KEY_PATH\"\n   ```\n\n### Перейдите к параметрам приложения\n\nЕсли вы перейдете из параметров приложения после создания приложения, перейдите на страницу параметров приложения:\n\n1. В правом верхнем углу любой страницы на GitHubщелкните рисунок профиля.\n2. Перейдите к настройкам учетной записи.\n   * Для приложения, принадлежащих личная учетная запись, нажмите кнопку **\"Параметры**\".\n   * Для приложения, принадлежащих организации:\n     1. Щелкните **Your organizations** (Ваши организации).\n     2. Справа от организации нажмите кнопку **\"Параметры**\".\n3. На левой боковой панели щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code\" aria-label=\"code\" role=\"img\"><path d=\"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"></path></svg> Параметры разработчика**.\n4. На левой боковой панели щелкните **GitHub Apps**.\n5. Рядом с именем приложения нажмите кнопку **\"Изменить**\".\n\n### Получение учетных данных приложения и идентификация сведений\n\n1. На странице параметров приложения рядом с идентификатором приложения найдите идентификатор приложения.\n2. `.env` В файле замените `YOUR_APP_ID` идентификатор приложения.\n3. На странице параметров приложения в разделе \"Закрытые ключи\" нажмите кнопку **\"Создать закрытый ключ**\". Вы увидите скачанный на компьютер закрытый ключ в формате PEM. Дополнительные сведения см. в разделе [Управление приватными ключами для приложений GitHub](/ru/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps).\n4. Если вы используете пространство кода, переместите скачанный PEM-файл в пространство кода, чтобы пространство кода могли получить доступ к файлу.\n5. `.env` В файле замените `YOUR_PRIVATE_KEY_PATH` полный путь к закрытому ключу, включая `.pem` расширение.\n6. `.env` В файле замените `YOUR_WEBHOOK_SECRET` секрет веб-перехватчика для приложения. Если вы забыли секрет веб-перехватчика, в разделе \"Секрет веб-перехватчика (необязательно)\" нажмите кнопку **\"Изменить секрет**\". Введите новый секрет и нажмите кнопку **\"Сохранить изменения**\".\n\n## Шаг 5. Установка приложения\n\nЧтобы приложение оставило комментарий по запросам на вытягивание в репозитории, оно должно быть установлено в учетной записи, которая владеет репозиторием и предоставляет доступ к нему. Так как ваше приложение является частным, оно может быть установлено только в учетной записи, которая владеет приложением.\n\n1. В учетной записи, владеющей созданным приложением, создайте новый репозиторий для установки приложения. Дополнительные сведения см. в разделе [Создание репозитория](/ru/repositories/creating-and-managing-repositories/creating-a-new-repository).\n2. Если вы перейдете из параметров приложения после создания приложения, перейдите на страницу параметров приложения. Дополнительные сведения см. в разделе [\"Переход к параметрам](#navigate-to-your-app-settings) приложения\".\n3. Щелкните **общедоступную страницу**.\n4. Нажмите кнопку **\"Установить**\".\n5. Выберите **только определенные репозитории**.\n6. **Выберите раскрывающееся меню \"Выбор репозиториев**\" и выберите репозиторий, выбранный в начале этого раздела.\n7. Нажмите кнопку **\"Установить**\".\n\n## Шаг 6. Запуск сервера\n\nДля тестирования вы будете использовать компьютер или пространство кода в качестве сервера. Ваше приложение будет активно только при запуске сервера.\n\n1. В окне терминала перейдите в каталог, в котором хранится клон [github/github-app-js-sample](https://github.com/github/github-app-js-sample) .\n\n2. Чтобы получить перенаправленные веб-перехватчики из Smee.io, выполните команду `npx smee -u WEBHOOK_PROXY_URL -t http://localhost:3000/api/webhook`. Замените `WEBHOOK_PROXY_URL` URL-адрес прокси-сервера веб-перехватчика. Если вы забыли URL-адрес, его можно найти в поле \"URL-адрес веб-перехватчика\" на странице параметров приложения.\n\n   Вы увидите выходные данные, которые выглядят следующим образом, где `WEBHOOK_PROXY_URL` находится URL-адрес прокси-сервера веб-перехватчика:\n\n   ```shell\n   Forwarding WEBHOOK_PROXY_URL to http://localhost:3000/api/webhook\n   Connected WEBHOOK_PROXY_URL\n   ```\n\n3. Во втором окне терминала перейдите в каталог, где хранится клон [github/github-app-js-sample](https://github.com/github/github-app-js-sample) .\n\n4. Выполните `npm run server`. Ваш терминал должен сказать: `Server is listening for events at: http://localhost:3000/api/webhook`\n\n## Шаг 7. Тестирование приложения\n\nТеперь, когда сервер выполняется и получает события перенаправленных веб-перехватчиков, протестируйте приложение, открыв запрос на вытягивание.\n\n1. Откройте запрос на вытягивание в репозитории, созданном на [шаге 5. Установите приложение](#step-5-install-your-app). Дополнительные сведения см. в разделе [Создание запроса на включение изменений](/ru/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request).\n2. Перейдите по URL-адресу прокси-сервера веб-перехватчика на smee.io. Должно появиться `pull_request` событие. Это означает, что GitHub успешно отправил событие запроса на вытягивание при создании запроса на вытягивание.\n3. В терминале, на котором вы выполнили, `npm run server`вы увидите примерно следующее: \"Получено событие запроса на вытягивание для #1\", где целое число после `#` того, как указано число открываемого запроса на вытягивание.\n4. На временной шкале запроса на вытягивание вы увидите комментарий из приложения. Комментарий использует содержимое `message.md` файла в клонированного репозитория.\n5. В обоих окнах терминала введите <kbd>CTRL<kbd></kbd>+C</kbd>, чтобы остановить сервер и прекратить прослушивание перенаправленных веб-перехватчиков.\n\n## Следующие шаги\n\nТеперь, когда у вас есть приложение, может потребоваться развернуть код приложения, развернуть приложение и сделать приложение общедоступным.\n\n### Изменение кода приложения\n\nВилку репозитория [github/github-app-js-sample](https://github.com/github/github-app-js-sample) и измените код для реагирования на различные события веб-перехватчика или для выполнения различных запросов API. Дополнительные сведения о коде см. в разделе [Создание приложения GitHub, которое реагирует на события webhook](/ru/apps/creating-github-apps/guides/building-a-github-app-that-responds-to-webhook-events).\n\nНе забудьте обновить разрешения приложения, если вашему приложению требуются дополнительные разрешения для запросов API, которые вы хотите сделать или события веб-перехватчика, которые вы хотите получить. Дополнительные сведения см. в разделе [Выбор разрешений для приложения GitHub](/ru/apps/creating-github-apps/creating-github-apps/setting-permissions-for-github-apps).\n\n### Развертывание приложения\n\nВ этом руководстве используется компьютер или пространство кода в качестве сервера. После того как приложение будет готово к использованию в рабочей среде, необходимо развернуть приложение на выделенном сервере. Например, можно использовать [Azure App Service](https://azure.microsoft.com/products/app-service/).\n\nПосле создания сервера обновите URL-адрес веб-перехватчика в параметрах приложения. Не следует использовать Smee.io для пересылки веб-перехватчиков в рабочей среде.\n\nВам также потребуется обновить `port` и `host` константы в коде. Дополнительные сведения см. в разделе [Создание приложения GitHub, которое реагирует на события webhook](/ru/apps/creating-github-apps/guides/building-a-github-app-that-responds-to-webhook-events#deploy-your-app).\n\nВы никогда не должны публиковать закрытый ключ приложения или секрет веб-перехватчика. В этом руководстве хранятся учетные данные приложения в gitignored-файле `.env` . При развертывании приложения следует выбрать безопасный способ хранения учетных данных и обновления кода, чтобы получить соответствующее значение. Например, учетные данные можно хранить в переменной среды на сервере, на котором развернуто приложение. Вы также можете воспользоваться службой управления секретами, например [Azure Key Vault](https://azure.microsoft.com/en-us/products/key-vault).\n\n### Общий доступ к приложению\n\nЕсли вы хотите предоставить общий доступ к приложению другим пользователям и организациям, сделайте приложение общедоступным. Дополнительные сведения см. в разделе [Как сделать приложение GitHub публичным или частным](/ru/apps/creating-github-apps/creating-github-apps/making-a-github-app-public-or-private).\n\n### Применение рекомендаций\n\nВам следует следовать рекомендациям по использованию данных GitHub App. Дополнительные сведения см. в разделе [Лучшие практики создания приложения на GitHub](/ru/apps/creating-github-apps/setting-up-a-github-app/best-practices-for-creating-a-github-app)."}