В репозиторий проекта FISYCO доставляет pull request для библиотек проекта. На этой странице описано, как подключить репозиторий, выбрать ветку для pull request и как FISYCO следит за их судьбой. Поддерживаются GitHub, GitLab (gitlab.com) и Bitbucket Cloud.
Код для дизайн-системы FISYCO читает из репозитория, который вы выбираете, когда подключаете дизайн-систему. Это может быть тот же репозиторий или другой.
Перед началом
- Вы мейнтейнер проекта, владелец или администратор пространства. Другим ролям настройки проекта недоступны.
- Для GitHub: вы можете установить GitHub App в аккаунте или организации, которой принадлежит репозиторий, или попросить того, кто может.
Подключите репозиторий
- Откройте проект, затем Настройки → Интеграции.
- В блоке Репозиторий нажмите Продолжить с GitHub, Продолжить с GitLab или Продолжить с Bitbucket.
- Дайте доступ:
- GitHub: если приложение в пространстве уже установлено, проект сразу подключится к этой установке. Иначе откроется GitHub: установите приложение, отметьте репозитории, с которыми FISYCO может работать, и вы вернётесь в проект.
- GitLab и Bitbucket: войдите у провайдера и разрешите доступ. Если в блоке видна кнопка Авторизоваться, сначала нажмите её. После этого FISYCO покажет репозитории, которые ваш аккаунт может привязать.
- Выберите репозиторий в поле Репозиторий и нажмите Сохранить.
- При желании выберите ветку в поле Целевая ветка и снова нажмите Сохранить.
Пока настройка не закончена, блок показывает, на каком вы шаге: Провайдер, Доступ, Репозиторий. Если в организации GitHub приложения одобряет владелец, вы увидите Запрос на установку отправлен. Подключение появится после его одобрения.
Репозиторий можно подключить и при создании проекта. Этот шаг можно пропустить и вернуться сюда позже.
Выберите целевую ветку
Pull request открываются в ветку из поля Целевая ветка. Если ветку не выбрать, FISYCO использует ветку репозитория по умолчанию: в списке она отмечена (по умолчанию).
Поле становится активным после сохранения репозитория: ветки загружаются из сохранённого репозитория. Если сменить репозиторий, ветка вернётся к ветке по умолчанию нового репозитория. Сначала сохраните, потом выберите ветку.
Чей доступ использует проект
Блок Репозиторий всегда показывает, с каким доступом работает проект:
Подключение принадлежит пространству, поэтому несколько проектов могут пользоваться одним доступом. Если личный доступ истёк или отозван, блок покажет Требуется действие и причину. Владелец доступа может нажать Обновить доступ. Если доступ не ваш, нажмите Перехватить: подключение переедет на ваш доступ.
Переустановка GitHub App
Переустановить GitHub App всегда открывает GitHub, даже если установка работает. Так приложению дают доступ к новым репозиториям или ставят его в другую организацию.
Что происходит после возврата:
- У той же установки остаётся одно подключение пространства, и FISYCO снова помечает его рабочим. Дубликата не появляется. Установка в другой организации становится отдельным подключением.
- Проверьте поле Репозиторий. Если оно пустое, выберите репозиторий заново и нажмите Сохранить.
FISYCO сам подскажет, когда нужна переустановка. Если приложение потеряло доступ к репозиторию проекта, блок скажет об этом и покажет рядом Переустановить GitHub App. Если приложение удалили на GitHub, FISYCO отвяжет репозиторий от проектов, которые им пользовались. Тогда Установить GitHub App начнёт установку заново.
Вебхуки и их состояние
Вебхуки сообщают FISYCO, что доставленный pull request открыт, слит или закрыт. Поэтому его статус в проекте обновляется без перезагрузки страницы.
- GitHub: один вебхук принадлежит самому GitHub App, на каждый репозиторий ничего не регистрируется.
- GitLab и Bitbucket: FISYCO регистрирует вебхук в репозитории при сохранении. Если регистрация не удалась, FISYCO повторяет её каждые пять минут.
В блоке Зарегистрированные вебхуки перечислены вебхуки проекта, включая вебхуки Figma. У каждого видно состояние: Работает, Сломан или Ещё не проверен, и время последней проверки. Каждые пять минут FISYCO спрашивает провайдера, жив ли вебхук, а не верит сохранённому статусу. Ещё FISYCO замечает, когда события приходят, но их приходится отклонять.
Если вебхук сломался, обновления pull request не теряются. FISYCO сам перечитывает статус открытых pull request каждые 30 секунд, пока проверка не найдёт вебхук рабочим. Блок Репозиторий покажет Требуется действие с причиной и кнопкой, которая это исправляет, а вам придёт уведомление.
Изменение и отключение
- Чтобы сменить репозиторий или ветку, измените их в той же форме и один раз нажмите Сохранить. Для нового репозитория заводится новый вебхук. При смене ветки вебхук остаётся прежним.
- Отключить сначала удаляет вебхуки, затем отвязывает репозиторий от этого проекта. Подключение пространства остаётся: им могут пользоваться другие проекты.
Если подключить репозиторий к проекту, где уже есть библиотеки, следующая доставка сочтёт каждую библиотеку новой. Первый pull request будет содержать библиотеку целиком.
