Создание кодогенератора для Postman

13.03.22

Интеграция - WEB-интеграция

Опишу порядок разработки кодогенератора для Postman c использованием OneScript и HTTPКоннектор.

Вводные

Нужно из коллекции postman создать код для 1С:Предприятие

 

Вариант реализации

1. Нужно зайти в проект postman-code-generators, внимательно почитать contributing guide

2. Создать issue с описанием варианта кодогенератора https://github.com/postmanlabs/postman-code-generators/issues/546

3. Сделать форк репозитория https://github.com/malikov-pro/postman-code-generators, склонировать на рабочее место.

4. Разобраться в коде на NodeJS, запустить окружение на nix, потому что тесты запускаются через .sh.

5. Установить на эту же машину onescript, потому что его удобнее запускать под консолью, синтаксис библиотек 1connector отличается только получением текста запроса ответа.

5. Посмотреть как сделано для других языков, у меня получилось понять с 3 раза, в итоге за основу взял python-requests, потому что изучаю python и относительно просто получилось запустить тесты.

6. Написать генератор.

7. Запустить тесты, увидеть что половина заваливается. 

8. Сделать файл генерации .bsl, положить его в корень.

 
 test.js, с примером теста который так и не осилил, возможно косяк в самом тесте,

Результат

 
 test.bsl

 

8.1 Настроить отладку, работаю чз VSCode, с подключением по SSH, по умолчанию запускает index.js, решается созданием конфигурационного файла и правки на test.js.

8.2 Запустить тесты еще десяток раз, исправить ошибки, получить "@postman/codegen-onescript-1connector: ok!"

9. Сделать коммит, отправить изменения в репозиторий, сделать Pull Request. привязать к исходной задаче.

https://github.com/postmanlabs/postman-code-generators/pull/592

 

Итог

Рабочий генератор кода который можно пользовать пока что из JS, после принятия PR думаю появится в приложении.

 

Благодарю за внимание.

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

WEB-интеграция Разработчик Аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    7268    33    4    

34

WEB-интеграция Анализ продаж Системный администратор Разработчик Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    44276    76    45    

32

Сайты и интернет-магазины WEB-интеграция Системный администратор Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    25325    41    26    

30

WEB-интеграция Системный администратор Разработчик Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена по API между конфигурацией 1С:Альфа-Авто 6 и порталом LogicStar. Позволяет работать с несколькими обменами LogicStars разных брендов (CHERY, OMODA, JAECOO, EXEED, TENET) в одной информационной базе в ручном и автоматическом режиме. Поддерживается выгрузка заказ-нарядов, реализаций товаров и товарных остатков.

20740 руб.

13.05.2025    2792    4    0    

7

Интеграция WEB-интеграция Системный администратор Разработчик Аналитик Руководитель проекта 1С:Предприятие 8 1C:Бухгалтерия 1C:ERP 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ERP Управление предприятием 2 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Обмен данными с 1С. Данный модуль подойдет, если вам нужно: выгрузить данные из 1С в другой сервис (сайт, мобильное приложение, CRM), загрузить в 1С данные из скрипта или сторонней системы, изменить формат, потому что 1С предоставляет данные не так, как нужно.

14640 руб.

02.04.2025    4401    1    6    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Bublik2011 9 03.10.22 17:08 Сейчас в теме
Отличная идея в статье! У меня что-то похожее было , из UML генерировался код 1С http запроса с параметрами.
2. malikov_pro 1403 03.10.22 18:19 Сейчас в теме
(1) PR забраковали, не собрался, нужно заново разворачивать окружение и пробовать собирать, при этом основная ветка ушла вперед.
YA_114133754; +1 Ответить
3. untru 71 30.05.23 03:57 Сейчас в теме
(2)есть шанс вопрос добить?)
4. malikov_pro 1403 30.05.23 12:20 Сейчас в теме
(3) Думаю да
johnnyshut23; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация