4.8 KiB
Bitrix24 import — Технический справочник «Эверест»
Режим безопасности
Импортёр scripts/bitrix24-import.py всегда запускается в dry-run режиме, если не передан флаг --execute. В dry-run режиме HTTP-запросы не выполняются.
Реальный импорт возможен только при одновременном выполнении условий:
- Передан флаг
--execute. - Установлен
BITRIX24_IMPORT_CONFIRM=true. - Установлен
BITRIX24_WEBHOOK_URL. - Для режима
landingустановленBITRIX24_KB_SITE_ID. - Для режима
genericустановленBITRIX24_KB_IMPORT_METHOD. - Webhook URL использует
https://.
Dry-run
python knowledge-base/everest/scripts/bitrix24-import.py
Ожидаемый результат: вывод DRY-RUN: Bitrix24 API was not called., статистика по разделам и статьям, а также отчёт reports/bitrix24-import-dry-run.md.
Dry-run для стандартной базы знаний Bitrix24:
python knowledge-base/everest/scripts/bitrix24-import.py --adapter landing
Dry-run для собственного промежуточного обработчика:
python knowledge-base/everest/scripts/bitrix24-import.py --adapter generic
Реальный импорт через Landing / Knowledge Base
export BITRIX24_WEBHOOK_URL
export BITRIX24_KB_SITE_ID
BITRIX24_IMPORT_CONFIRM=true \
python knowledge-base/everest/scripts/bitrix24-import.py --adapter landing --execute
Дополнительные переменные:
BITRIX24_KB_SCOPE— область сайта. Значение по умолчанию:knowledge.BITRIX24_KB_BLOCK_CODE— код блока для добавления контента. Значение по умолчанию:0.menu_24.BITRIX24_KB_SITE_CODE— код сайта для dry-run поиска.BITRIX24_KB_SITE_TITLE— название сайта для dry-run поиска.
Для контролируемого теста используйте ограничение действий:
BITRIX24_IMPORT_CONFIRM=true \
python knowledge-base/everest/scripts/bitrix24-import.py --adapter landing --execute --limit-actions 5
Реальный импорт через generic webhook
export BITRIX24_WEBHOOK_URL
export BITRIX24_KB_IMPORT_METHOD
BITRIX24_IMPORT_CONFIRM=true \
python knowledge-base/everest/scripts/bitrix24-import.py --adapter generic --execute
Этот режим отправляет каждую статью в один указанный метод. Он нужен, если в Bitrix24 или на внешнем сервере есть собственный обработчик создания страниц.
Формат данных
Источник импорта: generated/json/bitrix24-import.json.
Каждая статья содержит:
- номер;
- название;
- порядок;
- Markdown-контент;
- предупреждения;
- статусы данных;
- связанные статьи;
- блок
bitrix24_mappingдля будущего точного маппинга полей.
В режиме landing Markdown преобразуется в простой HTML. Скрипт создаёт план действий:
- Проверка сайта базы знаний.
- Создание разделов.
- Создание страниц статей.
- Добавление контентного блока.
- Заполнение блока HTML-контентом.
- Публикация страниц.
- Публикация сайта.
Перед реальным импортом
- Проверить
reports/validation-report.md. - Выполнить dry-run и проверить
reports/bitrix24-import-dry-run.md. - Проверить права входящего вебхука: доступ к методам
landing.*. - Уточнить
BITRIX24_KB_SITE_IDцелевой базы знаний. - Сделать тестовый импорт с
--limit-actions 5. - Проверить внешний вид страниц в Bitrix24.
- После проверки запустить полный импорт.
Запреты
- Не хранить
BITRIX24_WEBHOOK_URLв репозитории. - Не коммитить токены, пароли, webhook URL, ID пользователей и production credentials.
- Не запускать
--execute, если dry-run не проверен. - Не считать импорт успешным без визуальной проверки страниц в Bitrix24.