Rose debug info
---------------

Как бекапить фигму

Сегодня фигма написала, что из-за ***** она прекращает продажи в России (figma.com/blog/our-response-to-ukraine). Меня спрашивают и коллеги, и не только, что делать. Пишу, как забекапить файлы из фигмы.

Скачать в png

Если вы хотите скачать макеты в png, см. пост Автоматическое скачивание новых экранов из Цеплина и Фигмы

Скачать исходники

Формат фигмы проприетарный, исходники фигмы можно будет только загрузить в другую фигму (другую команды или личный аккаунт).

Если нужно скачать лишь несколько файлов, скачайте вручную, и не заморачивайтесь со скриптом:
File > Save local copy…

Если нужно скачать несколько файлов, то вручную можно задолбаться. Вот как сделать автоматически

  1. Выпускаете токен доступа (лучше завести пользователя только с read-only-правами). См. figma.com/developers/api#access-tokens
  1. Устанавливаете figma-backup из npm (github.com/mimshins/figma-backup). Пакет не наш, ответственности не несу.
npm install -g figma-backup
  1. Устанавливаете jq:
brew install jq
  1. Запускаете скрипт, заменив {{переменные}} на значения.
FIGMA_TOKEN={{token}}
TEAM_ID={{team-id}}

PROJECTS_ID=$(curl -H "X-FIGMA-TOKEN: $FIGMA_TOKEN" "https://api.figma.com/v1/teams/$TEAM_ID/projects" | jq -j '.projects[] | .id, " "')
echo "$PROJECTS_ID"
echo "====="

npx figma-backup -e "{{email}}" -p "{{password}}" -t "$FIGMA_TOKEN" --projects-ids $PROJECTS_ID
  1. Вы получите папку, в которой будет лежать все файлы, с которым имеет доступ пользователь {{email}}.
  1. Если нужно запускать регулярно, добавьте в крон и/или в CI-пайплайн.

Готовьтесь, это все работает медленно. Наши 2,5 гигабайта файлов экспортируются 3 часа.

Наверное, как-то можно сделать параллельно, не смотрели. Точно можно сделать вариант «не качать файлы, если они не менялись», пока не заморачивались.

Поделиться
Отправить
Запинить
 3135   10 мес   figma   инструкция   работа
Подписаться на блог…
5 комментариев
Матвей 10 мес

Спасибо, выручило! Есть ошибочка в ссылке на гит figma-backup — в URL закрывающая скобка пролезла.

Михаил Озорнин 10 мес

Спасибо, поправил.

Михаил Подрабинек 10 мес

Подскажите, какой скрипт запускать в итоге?
Запуск figma-backup (запускается интерактивный вариант) не помогает, падает на авторизации

Михаил Озорнин 10 мес

Скрипт — это весь текст в пункте 4.

В интерактивном режиме figma-backup-interactive работает? (Должен спросить токен, команду, логин, пароль, список проектов и тайм-ауты). На каком этапе падает?

Костя Грисман 10 мес

ERR. Download aborted | Timeout of 1800s exceeded. Не хочет качать( Уже таймаут до 30 мин. добавил

Михаил Озорнин 10 мес

Проверьте, этот файл вручную через интерфейс скачивается? Может быть файл слишком большой вообще и фигма не может его собрать и экспортировать.
Я сейчас проверил, у меня какие-то файлы пошли качаться, вроде более-менее работает.

Костя Грисман 10 мес

Не один файл не скачивается((

Костя Грисман 10 мес

А какая операционка у вас?

Михаил Озорнин 10 мес

У меня макось.

Можете еще попробовать решение ростелекома, сам я не пробовал, но по сути тоже же самое:
https://github.com/ritds/figma_backup