Каждая синхронизация показывает, что изменилось в библиотеке Figma, а в код изменения попадают только через pull request, который смотрит ваша команда. На этой странице описано, как запускается синхронизация, где смотреть изменения, как создаётся pull request и как FISYCO узнаёт его статус.
Всё это относится к библиотекам иконок, иллюстраций и токенов. Библиотека компонентов фиксирует изменения макета, но файлов не доставляет.
Перед началом
- В проекте подключена Figma и есть хотя бы одна библиотека. См. Подключение Figma.
- К проекту подключён репозиторий. См. Подключение репозитория. Без него FISYCO некуда доставлять изменения, и в Ожидают ничего не появится.
Как запускается синхронизация
Синхронизация читает файл Figma библиотеки и записывает, что добавили, изменили или удалили. Первая запускается сразу после создания библиотеки. Дальше синхронизацию запускает одно из событий:
FISYCO регулярно спрашивает у Figma, жив ли вебхук, и присылает уведомление, если он сломался. Публикацию, в которой изменились только переменные, резервная проверка не заметит: для неё нужен вебхук или плагин.
У одной библиотеки одновременно идёт только одна синхронизация. Пока она идёт, в шапке библиотеки видны текущий этап и прогресс, а кнопка Отменить её останавливает. Страница обновляется сама, перезагружать её не нужно.
Статус в шапке
В шапке библиотеки всегда один статус и подходящее к нему действие:
Посмотрите ожидающие изменения
Во вкладке Ожидают собрано всё, чего ещё нет в вашем коде: что изменилось с последнего слитого pull request. Число изменений видно на вкладке.
- Откройте библиотеку, затем Ожидают.
- Выберите отбор: Все, Новые или Изменённые.
- Выберите элемент. У изменённой иконки или иллюстрации сравните версии в режиме Рядом, Наложение или Слайдер.
- В блоке Изменения по синхронизациям видно, какие синхронизации затронули элемент. Каждая запись открывает свою синхронизацию.
Изменения остаются в Ожидают, пока их pull request открыт. Из списка они уходят, когда pull request сливают.
Загляните в историю
Во вкладке История перечислены все синхронизации библиотеки. В строке видно, как синхронизация запустилась (Триггер), кто её запустил (Пользователь), когда (Запущен) и сколько элементов добавили, изменили и удалили (Изменения).
Кнопка Просмотр открывает изменения этой синхронизации. Здесь есть отбор Новые, Изменённые и Удалённые. У синхронизации с ошибкой вместо изменений показана причина.
Если синхронизацию доставили, в строке видны статус pull request и ссылка на него.
Создайте pull request
- После синхронизации с изменениями в шапке появляются N ожидают и кнопка Создать PR.
- Нажмите Создать PR. Пока FISYCO делает коммит, в шапке виден прогресс.
- Когда всё готово, в шапке появляется PR открыт. Кнопка Открыть PR ведёт в ваш репозиторий.
FISYCO собирает файлы из текущего состояния библиотеки и коммитит их в новую ветку. Pull request открывается в целевую ветку проекта. Сливать его FISYCO не будет: команда смотрит и сливает его как обычно.
В описании pull request перечислены число добавленных, изменённых и удалённых элементов, сами изменения, вошедшие синхронизации и ссылка на библиотеку. Файлы, которые записала прошлая доставка, а эта уже не создаёт, удаляются в том же коммите. Остальные файлы в папке FISYCO не трогает.
Если pull request уже открыт
Если новые изменения пришли, пока pull request открыт, на кнопке будет Обновить PR. FISYCO добавит коммит в тот же pull request, а не откроет второй. Если тот pull request уже слили или закрыли, FISYCO откроет новый.
Ветка, заголовок и метки
Откройте Настройки библиотеки, затем Пул-реквесты. В блоке Шаблоны PR задайте Имя ветки, Заголовок PR и метки для добавленных, изменённых и удалённых элементов. Ветка по умолчанию называется fisyco-sync-{librarySlug}-{runId}, заголовок по умолчанию: FISYCO sync: {libraryName}. Метка ставится, только если соответствующих изменений больше нуля.
Автоматические pull request
В тех же настройках включите Автоматически создавать PR после каждой синхронизации. Тогда FISYCO создаёт или обновляет pull request библиотеки после каждой успешной синхронизации. Флажок виден, только если тариф пространства включает автоматические pull request.
Пока он включён, вручную создать pull request для этой библиотеки нельзя. Автоматический pull request уходит и тогда, когда сгенерированные файлы изменились без правок в Figma, например после смены шаблона имён.
Статус pull request
FISYCO следит за каждым pull request через вебхуки репозитория. Статус в Истории меняется сам:
Если вебхук репозитория перестал работать, FISYCO раз в 30 секунд сам проверяет статус открытых pull request, пока вебхук не починят. Состояние всех вебхуков Figma и репозитория видно в блоке Зарегистрированные вебхуки: Настройки проекта → Интеграции.
FISYCO никогда не пишет напрямую в целевую ветку. Каждое изменение приходит в виде pull request, и что сливать, решает ваша команда.