Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

Загрузка файлов в GitHub через REST API

Сценарий загружает несколько файлов в GitHub репозиторий через REST API с ручным запуском. Содержит обработку ошибок и соблюдение практик безопасности.

Показать оригинал (англ.)
Push Multiple Files to Github Repo via Github REST API

Automated workflow: Push Multiple Files to Github Repo via Github REST API. This workflow integrates 5 different services: stickyNote, httpRequest, set, stopAndError, manualTrigger. It contains 20 nodes and follows best practices for error handling and security.

Вручную (Manual)Средний · 10 нодGitHubHttprequest
Как это работает

Схема сценария, как в редакторе n8n: ноды и связи между ними. Кликните, чтобы рассмотреть.

клик - увеличить ⤢🌐Get latest commitSHAhttpRequest🌐Get base tree SHAhttpRequest🌐Create new treehttpRequest🌐Create commithttpRequest🌐Update branchhttpRequest◆When clicking‘Test workflow’manualTrigger≡Set Github Infoset≡File 1set≡File 2set
  1. ТриггерWhen clicking ‘Test workflow’Manual
  2. ДействиеGet latest commit SHAHttp Request
  3. ДействиеSet Github InfoSet
  4. ДействиеGet base tree SHAHttp Request
  5. ДействиеFile 1Set
  6. ДействиеCreate new treeHttp Request
  7. ДействиеFile 2Set
  8. ДействиеCreate commitHttp Request
  9. ДействиеUpdate branchHttp Request

Сценарий «Загрузка файлов в GitHub через REST API» состоит из 9 нод: When clicking ‘Test workflow’, Get latest commit SHA, Set Github Info, Get base tree SHA, File 1, Create new tree, File 2, Create commit и других. Интеграции: GitHub, Httprequest.

Что понадобится
ПараметрЗначениеОписание
Учётные данныеGitHub · HttprequestДля каждого сервиса нужен свой ключ/токен - впишете их в n8n после установки.
Объём сценария10 нод · среднийЧисло нод и уровень сложности логики. Больше нод - тоньше настройка.
Форматn8n workflow JSONГотовый воркфлоу. При развороте через кнопку импортируется автоматически.
Установка в один клик

Развернуть n8n с этим сценарием

Готовый сервер с n8n из маркетплейса Fatmetal - воркфлоу уже загружен. Рекомендованная конфигурация уже подставлена в заказ: 2 CPU · 4 ГБ · 50 ГБ. Останется вписать свои ключи, и автоматизация заработает. Нужна помощь с настройкой под нагрузку или сетью? Напишите инженеру.

Защищённый инстанс

n8n отдаём закрытым, а не голым

n8n часто атакуют - поэтому инстанс приезжает уже защищённым, без ручной настройки.

Владелец создан заранее

Аккаунт администратора настроен автоматически при развёртывании. Окно самостоятельной регистрации закрыто - никто не перехватит ваш инстанс в первые минуты после запуска (частый вектор атаки на self-hosted n8n).

Единый пароль с сервером

Логин в n8n - тот же пароль, что у вашей машины. Не нужно искать отдельные креды в файлах, меньше шансов оставить дефолт.

fail2ban против перебора

Автоматически банит IP после серии неудачных попыток входа по SSH. Защита от брутфорса из коробки.

HTTPS и security-заголовки

Трафик шифруется (Let's Encrypt, авто-обновление), выставлены HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy - защита от кликджекинга, MIME-снифинга и downgrade-атак.

Что дальше

После оплаты - сервер с готовым сценарием

Сервер создаётся автоматически за несколько минут. Ничего настраивать вручную не нужно - n8n поднимется сам, а этот сценарий уже будет внутри.

1

Сервер создаётся

После оплаты сервер разворачивается автоматически за несколько минут: ставится n8n, база данных и HTTPS. Дождитесь готовности в личном кабинете.

2

Открываете адрес

Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net. Например IP 45.15.159.10 → https://45-15-159-10.fatmetal.net/. HTTPS уже настроен. Готовый адрес также есть в личном кабинете - можно просто скопировать его оттуда.

3

Входите готовыми данными

Аккаунт владельца уже создан - регистрировать ничего не нужно. Логин: admin@<адрес вашего сервера> (тот же адрес, что открыли на шаге 2 - например admin@45-15-159-10.fatmetal.net). Пароль - тот же, что у вашего сервера: он в личном кабинете и в /root/n8n-credentials.txt на сервере. Войдите и при желании сразу смените пароль в настройках. Интерфейс английский - у n8n нет русской локализации.

4

Сценарий уже внутри

Этот сценарий уже импортирован - найдёте его в разделе Workflows. Останется вписать свои ключи для интеграций (GitHub, Httprequest) в Credentials и включить сценарий.

Важно: сохраните ключ шифрования. Ключ (N8N_ENCRYPTION_KEY) и пароль базы лежат на сервере в /root/n8n-credentials.txt. Этим ключом зашифрованы учётные данные интеграций - берегите его и сделайте резервную копию: без ключа их не восстановить даже из бэкапа базы.
Оригинал сценария (англ.): «Push Multiple Files to Github Repo via Github REST API». Источник: коллекция Zie619/n8n-workflows (лицензия MIT).
Спросить инженера в TelegramМы на связи