Скрипт для выполнения бекапа проектов, в формате .fig. Для работы использует Chrome, chrome-webdriver и Node.JS.
- Может сохранять либо все файлы, либо только измененные за заданное время
- Отправляет отчет на почту
- Клонируйте код скрипта
- Создайте папку в которую будут скачиваться бекапы
- В папке проекта, вы увидите файл config.json.example
Уберите расширение ".example" и заполните файл config.json своими данными.
Если вы используете Windows, следует вписать путь до папки сохранения в таком виде: "С:\\figma\\backup\\"
(должно быть по 2 слеша подряд!). Если *nix - то "/home/user/figma-backup/".
"hoursForPartialBackup": 1 означает, что будут скачиваться файлы за последний час. При этом, значение 0 равносильно установке флага --all в true и означает что будут скачаны все файлы, находящиеся в проектах.
Чтобы получить токен фигмы, зайдите в настройки профиля фигмы (клик по своему аватару) и нажмите "Create presonal access token". После этого введите название токена и дождитесь его генерации. Скопируйте токен из желтого поля в файл config.json.
Чтобы получить id и название своей команды, кликните на нее. В адресной строке вы получите ссылку вида: https://www.figma.com/files/team/812231708750477310/team2, где:
/files/team/<id команды>/<название команды>
Отправка через любой почтовый сервер, поддерживающий SMTP.
Чтобы разрешить отправку почты с почтового ящика gmail, нужно включить "Небезопасные приложения" в настройках Google аккаута https://myaccount.google.com/lesssecureapps?pli=1
- У вас должен быть установлен Node.JS и Google Chrome.
- В файле package.json измените версию chromedriver'а на версию хрома, установленную у вас в системе. Например, если установлена версия 99.0.4844.51, возьмите от неё только первое число (99), и укажите его в версию в формате
"chromedriver": "^99.0.0",
- Откройте командную строку или терминал в папке с клонированным кодом скрипта
- Установите зависимости (только для первого запуска) -
npm install
- Скомпилируйте TypeScript файлы в JavaScript (для первого запуска или в случае изменений исходного кода) -
npm run tsc
- Запустите основной файл программы, из папки скомпилированных файлов -
node build/runner.js
Допустимые ключи при запуске бекапера:
--verbose
- выводить в консоль информационные сообщения--debug
- выводить в консоль отладочные сообщения--all
- выполнить скачивание всех файлов. При отсутствии этого флага будут загружены только файлы, изменившиеся за последние hoursForPartialBackup часов--auto-incremental
- автоматический выбор полного/частичного скачивания. Полное скачивание будет выполнено, если скрипт запущен в субботу. Этот флаг позволяет в течение недели выполнять только частичный бекап, и 1 раз в неделю в субботу выполнять полный бекап. При наличии этого флага будет игнорироваться флаг--all
.
Пример запуска:
node build/runner.js --verbose --debug --auto-incremental
Отчет состоит из сообщения успешности ("Все Ок" или "Не ОК") и мини-отчетов по каждому пользователю. Если рядом с логином пользователя написано "есть ошибки", значит во время работы программы были перехвачены исключения: страница не была загружена во время, или произошла ошибка в очереди запуска окон.
Также в отчете присутствуют числа обозначающие количество сохраненных файлов по сравнению с количеством файлов, которые должны быть сохранены (например: 2/4). Если указаны числа "0/0", значит пользователь не изменял файлы в проектах за последне указанное количество часов. Последними в строке указаны числа сохраненных драфтов по отношению к общему числу драфтов пользователя. Если указаны числа "0/0", значит в конфиге не указана необходимость сохранять драфты, либо у пользователя нет драфтов.