Автоматизация публикации расширений 1С на Infostart через GitHub Actions

17.02.26

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

В этой статье я расскажу, как настроить автоматическое обновление файлов поставки на Infostart сразу после создания релиза в GitHub. Больше не нужно вручную скачивать .cfe и загружать его через браузер

Автоматизация публикации расширений 1С на Infostart через GitHub Actions

В этой статье я расскажу, как настроить автоматическое обновление файлов поставки на Infostart сразу после создания релиза в GitHub. Больше не нужно вручную скачивать .cfe и загружать его через браузер.

 

Зачем это нужно?

Когда проект растет и конфигураций становится много (УНФ, Розница, УТ, ERP), рутинный процесс выпуска релиза начинает занимать слишком много времени. Автоматизация позволяет:

  • Исключить ошибки «человеческого фактора» (загрузили не тот файл).
  • Сократить время доставки обновлений до пользователей.
  • Держать актуальные версии на всех площадках одновременно.

 

Мем-пауза: Когда релиз готов, а загружать лень

 

GitHub Action спасает разработчика от рутины загрузки форм

 

Как это работает

Процесс состоит из трех компонентов:

  1. GitHub Release: Источник файлов. Скрипт берет .cfe из активов последнего релиза.
  2. Python-скрипт: «Мозг» системы, который умеет общаться с API Infostart.
  3. GitHub Actions: «Двигатель», который запускает процесс по событию или вручную.

 

1. Python-скрипт для загрузки

Мы используем небольшой скрипт на Python, который отправляет POST-запрос на специальную ссылку обновления Infostart. Эта ссылка содержит уникальный хэш, позволяющий обновлять файл без полной авторизации в браузере.

import requests
import argparse

def upload_to_infostart(url, file_path, version):
    with open(file_path, 'rb') as f:
        files = {'file': f}
        data = {'v': version}
        response = requests.post(url, files=files, data=data)
        if response.json().get('SUCCESS'):
            print(f"Версия {version} успешно загружена!")

 

2. Настройка GitHub Actions

Workflow настраивается на ручной запуск и скачивает нужный файл из Assets последнего релиза, передавая его в Python-скрипт.

on:
  workflow_dispatch:
    inputs:
      force_upload:
        description: 'Force upload even if versions match'
        type: boolean
        default: false

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Sync with Infostart
        run: |
          # Получение последнего релиза через gh + JSON, скачивание .cfe, вызов infostart_updater.py
          python automation/infostart_updater.py --url "${{ secrets.INFOSTART_URL_UNF }}" --file "dist/unf.cfe" --version "$VERSION"

Пока оставили только ручной запуск (workflow_dispatch) — так проще контролировать момент синхронизации. Если нужна полная автоматизация, добавьте в on: блок release: types: [published], и workflow будет запускаться при каждом создании релиза на GitHub.

 

3. Безопасность (Secrets)

Самое важное — ссылки для обновления содержат секретные ключи. Мы храним их в GitHub Secrets. Это позволяет коду быть открытым, но при этом никто не сможет загрузить файлы в ваш профиль Infostart без доступа к настройкам репозитория.

Добавьте секреты в репозитории: SettingsSecrets and variablesActionsNew repository secret. Понадобятся INFOSTART_URL_UNF и INFOSTART_URL_UT.

 

Добавление секретов INFOSTART_URL_UNF и INFOSTART_URL_UT в GitHub

 

Итог

Теперь процесс выпуска новой версии выглядит так:

  1. Запускаем локальный скрипт сборки и создания релиза.
  2. В GitHub: Actions → Sync with Infostart → Run workflow.
  3. Через 30 секунд файл уже обновлен на Infostart.

 

Ручной запуск workflow Sync with Infostart в GitHub Actions

 

При загрузке обновляется только версия файла на Infostart — пользователи сразу видят актуальный номер (например, ver:1.8.7). Редактировать статью или проходить модерацию не требуется: изменения применяются автоматически.

 

Обновлённые версии файлов на Infostart: УНФ/Розница и УТ/КА/ERP

 

Это освобождает время для более важных задач, чем «нажми кнопку в браузере».


Проект: 1C AI Autofill

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

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

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

См. также

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

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

42700 руб.

03.08.2020    24215    37    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22908    68    52    

43

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    6167    28    4    

29

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    42970    76    45    

31

Тестирование QA DevOps и автоматизация разработки Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.190.11.

5368 руб.

20.01.2022    11608    48    1    

21

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2660    7    6    

8
Для отправки сообщения требуется регистрация/авторизация