Автоматизация публикации расширений 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

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

См. также

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

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

3660 руб.

05.08.2024    5196    36    1    

19

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

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

24000 руб.

02.02.2021    22092    65    52    

41

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

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

42700 руб.

03.08.2020    23432    34    24    

26

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

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

12200 руб.

29.08.2025    1819    4    0    

5

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    41654    75    45    

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