Devops-кухня. Рецепты приготовления дополнительных отчетов и обработок

04.04.23

Разработка - DevOps и автоматизация разработки

Обновление всех отчетов и обработок в любой тестовой базе по одной кнопке.

Краткое содержание статьи.. 1

Предыстория (ее можно пропустить). 3

Версионирование (обязательно). 4

Разработка (опционально). 4

Контроль качества (опционально). 7

Код-Ревью (опционально). 9

Ssl-ci (Обязательно). 11

Ssl-ci. Настройка. 12

Ssl-ci. Работа с файлами. Команды. 15

Ssl-ci. Автодеплой (опционально). 18

Итоги

.. 21

Краткое содержание статьи

В данной статье решил рассказать, как у нас в команде устроена работа с дополнительными отчетами и обработками (далее просто внешние файлы).

Расскажу про расширение для связи гита и вашей конфигурации на основе БСП.

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

Надеюсь, наш опыт будет полезен и для вас.

Краткое содержание в виде таблички

Глава Польза Применимость Инструменты
Версионирование

У вас появится удобное версионирование дополнительных отчетов и обработок.

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

Обязательно.

Без версионирования расширение не имеет смысла и по одной кнопке вы ничего не сможете обновить.

В принципе можно не раскладывать файлы на исходники, но тогда след.пункты будут неприменимы.

git +

Gitlab,

Oscript +

precommit1C

Разработка

Не будут затираться изменения при параллельной работе разработчиков.

Можно будет настроить проверку качества.

Опционально.

т.е. без этого можно жить, но непонятно зачем.

vs code
Контроль качества

Не будет нарушения стандартов разработки 1С

Все отчеты не будут внезапно падать с синтаксической ошибкой при обновлении релиза

Опционально.

Если вам не важно качество вашей разработки, то можно пропустить.

SonarQube, vanessa add (дымовые тесты)
Код-ревью

В дополнение к соблюдению стандартов 1С будут соблюдаться ваши внутренние стандарты разработки

Из внешних файлов исчезнет “плохой код” (но это не точно)

Опционально.

Как показывает практика, код внешних отчетов и обработок вообще редко кто системно проверяет.

vs code, Конфигуратор

Ssl-ci (Расширение)

 

Интеграция гита и вашей базы.

Обновление всех файлов по одной кнопке.

История изменения файла прямо в вашей базе.

+Много других сервисных возможностей

Обязательно.

Без расширения не было бы и статьи.

Ssl-ci

 

 

Ssl-ci. Автодеплой

Автоматическое добавление и обновление всех дополнительных отчетов и обработок в любой вашей базе в ходе тестирования контура ci.

Вы сможете полноценно использовать сценарное и дымовое тестирование отчетов и обработок.

Опционально.

Можно жить и без ночных сборок проекта и тестов.

vanessa runner,

vanessa automation,

vanessa add (дымовые тесты

 

Весь код из статьи и расширение доступно в моем репозитории на ГитХабе Ssl-ci (лайк, шер, репост).

 

Предыстория (ее можно пропустить)

Практически на каждой моей работе в том или ином виде использовались внешние отчеты и обработки. Это и дополнительные печатные формы, и отчеты, сервисные и не очень сервисные обработки чего-нибудь.

Практически везде, где я работал, внешние файлы делались так:

  1. Копируется шаблон обработки (например с инфостарта)

  2. Дописывается своя бизнес-логика

  3. Сохраняется на свой компьютер. В лучшем случае, на общую шару.

  4. Заливается вручную в рабочую базу. В лучшем случае, отдается сначала на тестирование аналитику.

Такой подход обычно приводит к тому, что в папке с внешними файлами образуется бардак вида:

 

Бардак)

При этом понять кто, когда и главное зачем что-то поменял в таком файле становится невозможно.

Отдельные сложности возникают при параллельной работе над одним файлом двух разработчиков. Скорее всего, в рабочую базу попадут доработки только одного из них.

Поддержание качества кода и тестирование таких файлов в общем-то невозможно.

И на моем текущем проекте был полный набор указанных проблем.

Мы разрабатываем большую высоконагруженную логистическую систему в Почте России.

Под большой и высоконагруженной я понимаю систему на 5 тысяч уникальных пользователей и одновременной работе около 600-900 человек практически 24/7. Как вы понимаете, если условный разработчик Вася накосячит в какой-нибудь критичной печатке или отчете это нам выльется в порядка 300 заявок на хелпдеск.

Поэтому вопрос нормальной организации процесса разработки внешних файлов для нас был довольно-таки критичен.

Предупреждая возможные вопросы - в расширение мы все вынести не могли, потому что при применении расширения нужно все равно 600 пользователям перезайти в базу. И так по несколько раз в день. Каждый день.

Включать все доработки внутрь конфигурации мы тоже не могли, т.к. у нас месячный релизный цикл, и ключевые заказчики не хотели столько ждать новой колонки в какой-нибудь важный отчет.

Итак, вводные я обозначил, теперь расскажу, как мы изменяли процесс.

 

Версионирование (обязательно)

На первом шаге мы решили включить нормальное версионирование всех файлов. То есть подключить нашу общую папку к гиту.

Мы создали новый репозиторий, выгрузили в него все файлы из рабочей базы и дополнили всеми файлами с машин разработчиков.

Важный момент. Просто хранить файлы в гите конечно хорошо, но хотелось бы на этом шаге получить и структуру кода, которую эти файлы содержат. Тут нам подошел инструмент precommit1c - это набор скриптов, написанных на OneScript. Прекоммит умеет разбирать файлы обработок, отчетов и расширений на исходные файлы.

Для инвентаризации можно запустить команду precommit1c --decompile с аргументами (аргументы доступны в справке) и все ваши файлы разберутся на исходники.

Также на этом шаге мы “очистили” имена внешних файлов от дат и версий, таким образом одному элементу справочника “Дополнительные отчеты и обработки” стал соответствовать один файл в репозитории.

Бонусом этого шага мы получили быстрый поиск по коду по всем отчетам и обработкам. Это особенно полезно при удалении/переименовании метаданных в основной конфигурации.

 

Разработка (опционально)

Следующим шагом нам нужно было наладить прозрачный процесс доработки внешних файлов.

Поскольку на прошлом шаге у нас уже появился отдельный репозиторий со всеми нашими файлами, то логичным продолжением стало заведение локальных репозиториев для каждого разработчика.

В гите есть некий аналог подписок на события из 1с, называется хук (hook). Если вы создаете новый гит репозиторий (например через git gui), то репозиторий создается сразу с шаблонами таких хуков (samples).

 

Шаблоны хуков

 

Как можно понять из названия “precommit 1c” как раз и рассчитан на вызов перед любым коммитом. Он анализирует файлы коммита и, если там есть подходящие по фильтру файлы, раскладывает их на исходники и помещает в тот же коммит. Таким образом разработчик коммитит только файл вида “МояОбработка.epf”, а вся “подкапотная магия” по выгрузке обработки в исходные файлы проходит в хуке прекоммита.

 

Хук прекоммит, вызываем файл precommit.cmd из корня репозитория

 

Файл precommit.cmd

 

Также в гите есть замечательный хук “commit-msg”, который вызывается для проверки сообщения коммита. У нас все изменения на проекте проходят через Jira, так что при внутренней разработке указание номера задачи в Jira у нас обязательно. И как раз благодаря этому хуку мы можем проверить, что разработчик не забыл указать номер задачи, по которой он делает изменения.

 

Хук проверяет, что мы не забыли указать номер задачи за исключением мерж-коммита. Простая регулярка

 

Чтобы эти хуки появились в локальном репозитории разработчика, я сделал специальный cmd файл “Настроить проект.cmd”, который любой разработчик запускает перед началом работы в локальном репозитории.

 

Настройка локального репозитория. Копируем хуки.

 

Пример настроек

Тут мы решаем сразу несколько проблем.

Благодаря модели ветвления гита у нас перестал “теряться” код.

Если два разработчика изменяют один и тот же файл, то при помещении этого файла вторым разработчиком он не сможет случайно затереть работу коллеги.

Сразу мержить в гите на этом шаге показалось сложно, поэтому мы для себя решили в этих случаях поступать так:

  • если при помещении изменений в гит возник конфликт слияния, то разработчик сохраняет себе вне репозитория свою версию файла с конфликтом

  • принимает все изменения из удаленного репозитория (т.е. свои изменения затираются)

  • сравнением/объединением в конфигураторе объединяет два файла в единый новый файл

  • коммитит этот файл в удаленный репозиторий.

Появилась возможность по каждой строке кода “провалиться” в задачу в Jira и понять, почему эта строка тут появилась.

 

Переход в задачу из коммита

 

По какой задаче какая строка появилась в файле. Комменты в коде больше не нужны

 

 

Контроль качества (опционально)

После того как у нас все внешние файлы лежат и дорабатываются через гит, мы решили наладить контроль качества.

Сначала подключаем анализ сонаром репозитория. Тут все стандартно.

 

Проект в сонаре

 

Сам анализ у нас сейчас запускается через Дженкинс.

 

Периодически смотрим, появились ли новые коммиты

 

На этом шаге мы решили заодно обновлять файловую шару с нашими отчетами/обработками.

На сервере, где крутится нода дженкинса, мы подключили нашу файловую шару как сетевой диск (диск z). Далее завели там новый локальный репозиторий и средствами дженкинса настроили в едином пайплайне проверку сонаром и обновление этого репозитория.

 

Пайплайн для дженкинса. На первом шаге обновляем диск z, на втором запускаем анализ сонаром

 

Теперь, когда у нас появилась единая шара с актуальными отчетами/обработками, мы смогли запустить в наших сборках проекта часть дымовых тестов внешних файлов из vanessa add (если кому-то будет интересно, могу написать, как мы у себя запускали дымовое тестирование), а именно

Все они используют настройку КаталогиВнешнихОтчетов, которая как раз предполагает наличие общей шары.

 

Код-Ревью (опционально)

На этом же шаге мы ввели практику код-ревью внешних файлов.

Для этого раз в месяц ответственный разработчик берет все накопившиеся изменения по файлам и проводит их ревью.

Для того чтобы понять точку отсчета изменений, мы стали использовать тэги

 

По тэгам можно отсчитывать контрольные точки репозитория

 

Всегда можно посмотреть различия между актуальной версией и последним ревью

 

При этом какие-то изменения было удобно смотреть прямо в гитлабе, какие-то через конфигуратор. Поэтому схема на этом этапе у нас была следующая:

  1. Клонируется второй локальный репозиторий, версия этого репозитория переключается на последний проверенный тэг

  2. Либо посредством гита, либо через конфигуратор (сравнить/объединить) проводится ревью изменений. Иногда обоими способами.

  3. По результатам ревью создаются задачи на разработчиков по исправлению замечаний

  4. Ставится новый тэг

 

Пример служебного репозитория для код-ревью

 

Такой подход имел ряд недостатков, а именно:

  • изменения проходили ревью слишком поздно и были загружены в рабочую базу;

  • приходилось в задаче указывать скриншоты проблемных кусков кода;

  • после исправления замечаний все доработки нужно было тестировать заново. (Что навело нас на мысль о регрессионном тестировании всех наших внешних файлов).

Но как говорится, даже плохое ревью лучше, чем его полное отсутствие.

С учетом этих недостатков, спустя какое-то время мы решили все-таки двигаться к полноценному гит-флоу, и этому посвящена последняя глава.

 

Ssl-ci (Обязательно)

Представляю вам наше сервисное расширение SSL-CI для связи справочника дополнительных отчетов и обработок с гитом.

Это наш внутренний инструмент, которым мы решили поделиться с сообществом 1С.

Что же умеет наше расширение?

По сути это реализация интеграции между конфигурацией 1С с библиотекой БСП (текущая версия режима совместимости Версия 8.3.12) с системой управления репозиториями программного кода (в нашем случае GitLab Community Edition 14.8.4).

Вся интеграция строится на базе публичного api Гитлаба

Как видно из описания расширения на гитхабе (релиз 1.0.2), были реализованы следующие функциональные возможности:

  • Настройка синхронизации с гитом

  • Привязка файла к файлу репозитория

  • Обновление файла из репозитория на последний коммит

  • Обновление всех файлов на последний коммит

  • История коммитов файла

  • Добавление нового файла из репозитория

  • Связка с таск-трекером и коммитом (команды перехода)

  • Выбор ветки для файла

  • Переход на конкретный коммит

  • Переключение веток для всех файлов базы

  • Настройка возможности обновления из файла

  • Вывод информации о результатах автоматического обновления

  • Автоматическое создание новых файлов в сборке

После включения и первоначальной настройки расширения вы получите примерно следующее:

 

Картинка у вас будет примерно такая

 

 

Ssl-ci. Настройка

Расскажу подробнее по настройке.

 

Команда настройки интеграции

 

Текущие настройки

 

Адрес гита + токен доступа - нужно обязательно сгенерировать токен для доступа в ваш гитлаб. У нас для этого используется токен служебной учетной записи. Подробно про токены доступа

 

Для токена нужна указать право api

 

Ид проекта - это ИД вашего проекта в Гитлабе

 

Ид проекта

 

Имя каталога с внешними файлами (фильтр поиска) - нужен для фильтрации списка файлов, получаемого через апи. Также этот параметр используется для автоматического деплоя всех новых отчетов/обработок в базу тестирования в сборках проекта.

У нас все файлы отчетов и обработок, которые должны или могут быть загружены в базу, лежат в отдельном каталоге в репозитории:

 

Каталог с файлами epf и erf, в настройке нужно указывать его

 

Адрес таск трекера и Префикс задачи - настройка для работы команд перехода из коммита к задаче. Анализирует текст коммита, если там есть префикс задачи, то переходит к этой задаче в таск трекере.

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

После того как вы укажете все настройки, нужно обязательно проверить их по кнопке “Проверить соединение”.

 

Результаты проверки соединения

 

После этого вы сможете привязывать ваш отчет/обработку к файлу в гитлабе.

Для первоначального сопоставления вашего справочника и репозитория была сделана специальная служебная обработка ПервоначальноеСопоставлениеФайловСРепозиторием.epf (но вы всегда можете написать собственную).

 

Сопоставление файлов в репозитории с файлами в базе. По именам обработок/отчетов

 

На этом первоначальная настройка закончена.

 

Ssl-ci. Работа с файлами. Команды

Рассмотрим возможности интеграции с гитом в справочнике

 

Новые интерфейсные возможности

 

После включения расширения в форме элемента справочника дополнительные отчеты и обработки появляется новая закладка “Интеграция с git”. На ней мы видим текущее состояние интеграции, а также ряд дополнительных команд.

Флаг “Не обновлять автоматически” не дает обновить отчет/обработку при выполнении команды “Обновить все файлы”

 

Выбор файла из репозитория для связки с элементом справочника. Ветку можно выбрать любую. Не показываются уже добавленные файлы.

 

История коммитов. Можно откатить отчет/обработку на любой прошлый коммит

 

Команда “Обновить все файлы” актуализирует ваш справочник файлов. Как работает актуализация:

  • Получаем все файлы, где указан адрес в репозитории и ветка, “Публикация = Используется” и не стоит галка “Не обновлять автоматически”

  • По каждому файлу получаем из гитлаба последний коммит (с учетом ветки)

  • Если текущий коммит <> последнему коммиту файл обновляется на последний коммит

  • В интерактивном режиме показывается отчет об обновлении

 

Результат обновления. Когда тут прилетает сразу штук 20 разных отчетов и обработок возможен побочный эффект в виде чувства радости

 

Команда “Переключить ветку” переключает ветку во всех отчетах и обработках на выбранную

 

Переключение ветки

 

При переключении анализируется, существует ли такой файл в выбранной ветке и если существует, то он получается из этой ветки. Игнорирует файлы с галкой “Не обновлять автоматически”.

Команды “Обновить обработку/отчет” и “Переключить ветку файла” работают аналогично, но для конкретного выбранного файла.

Также в коде расширения предусмотрен запрет на переключение ветки для рабочей базы. Этот запрет можно либо не использовать (по умолчанию) либо настроить под свою базу.

 

Мы у себя смотрим на константу “ЭтоРабочаяБаза”

 

 

Ssl-ci. Автодеплой (опционально).

Итак, остался последний шаг. Встроить автоматическое обновление внешних файлов в сборку основного проекта.

Перед каждой сборкой мы обновляем тестовую базу из хранилища с помощью vanessa-runner.

 

Шаг по обновлению тестовой ИБ

 

После обновления из хранилища скрипт запускает обновление базы в пользовательском режиме. Описание процесса обновления

Как можно заметить по скрину, вместо команды “@call vrunner run --command "ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы;" --execute $runnerRoot\epf\ЗакрытьПредприятие.epf” мы после параметра execute вызываем свою версию обработки для закрытия предприятия.

Она отличается от стандартной наличием такого кода:

 

т.е. мы сначала получаем все недостающие файлы из ветки develop и актуализируем справочник

 

Теперь можно покрывать все важные отчеты, обработки и печатные формы сценарными тестами и проверять корректность доработок.

 

Благодаря автоматическому обновлению мы смогли покрыть сценарными тестами все самые важные внешние отчеты и обработки.

 

Пример сценария тестирования отчета. Тут все стандартно - формируем отчет и сравниваем с макетом, должны совпадать на исторических данных.

 

Также, поскольку все внешние файлы уже находятся в вашей базе тестирования в актуальном состоянии, то для дымового тестирования больше не нужно актуализировать файловую шару. Мы у себя написали еще два дымовых теста в этой логике (проверка имени варианта отчета и еще один специфичный).

 

Итоги

Пока можно зафиксировать промежуточные итоги нашего процесса разработки внешних файлов.

Теперь все внешние файлы у нас разрабатываются по гит-флоу (мы выбрали простой вариант через master/develop и, иногда, фича-ветки.

В рабочую базу изменения попадают только после мерж-реквеста в мастер после прохождения пайплайна тестирования и этапа ревью (автодеплой после успешного мержа у нас пока на стадии проработки).

Само ревью средствами гитлаба намного удобнее единого ежемесячного ревью. Правда формы все равно пока приходится проверять через конфигуратор.

Ну и в целом, как нам кажется, процесс доработки стал более прозрачен и предсказуем.

Буду рад, если наше расширение и подход к разработке кому-то пригодятся.

P.s. В планах есть идея прикрутить и выпуск расширений через Ssl-ci, но пока у нас расширения используются в основном как ХотФиксы, поэтому эти планы не в высоком приоритете.

devops дополнительные отчеты и обработки ci/cd

См. также

Автотесты для типовых конфигураций ERP Управление предприятием 2 и Комплексная автоматизация 2 (для vanessa automation)

Тестирование QA DevOps и автоматизация разработки Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.15.111.

2220 руб.

04.07.2022    6936    26    1    

24

Автотесты для типовых конфигураций Бухгалтерия предприятия КОРП 3.0 и Бухгалтерия предприятия 3.0 (vanessa automation)

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

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

1728 руб.

20.01.2022    6710    10    0    

9

Системы контроля версий для 1С-разработчиков.

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Платформа 1С v8.3 Платные (руб)

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9386    78    4    

112

Управление сборкой. Расширение для конфигурации СППР

DevOps и автоматизация разработки Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Подсистема «Управление сборкой GLI» предназначена для динамического формирования сборочных линий Gitlab и отслеживания процесса доработок систем на базе1С:Предприятия Позволяет упростить выпуск новых релизов системы, подготовить описание доработок системы. Интегрируется с GitLab API по событиям Push, Merge-request, Pipeline. Уведомляет пользователей о результатах сборки/тестирования сборочных конвейеров через СВ, либо при её недоступности или отсутствию по E-Mail. Поможет при отправке исправлений ошибок в общую базу тестирования, сформирует запросы на слияние в ветку версии только по протестированному и подтверждённому функционалу. Подсистема рассчитана исключительно на клиент - серверную архитектуру тестовых ИБ. Поддерживаемая версии СППР 2.0.4.15, платформа не ниже 8.3.17.1549, 2.0.7.3 / не ниже 8.3.21.1664, начиная с релиза 1.0.4.30 требуется платформа не ниже 8.3.23 рекомендуемый релиз 8.3.23.1997

7000 руб.

26.08.2022    10774    7    5    

30

Автоматическое подтверждение легальности обновления базы или как обновить 100 типовых баз 1С за 5 часов

DevOps и автоматизация разработки Обновление 1С Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Расширение для конфигураций 1С для автоматического подтверждения легальности обновления и выполнения обработчиков обновления при пакетном автоматическом обновлении большого числа баз 1С. А также сам модуль обработки по автоматическому обновлению баз.

2 стартмани

08.05.2019    24397    56    VPanin56    26    

27

1С, СППР и Архитектура как код

DevOps и автоматизация разработки Бесплатно (free)

Можно ли идеи подхода «Архитектура как код» положить на 1С или иную платформу, чтобы не изобретать ещё какой-то язык и сразу получить множество готовых библиотек функций и инструмент достижения главной цели подхода AaC.

01.02.2024    2736    roman72    9    

8

TCP прокси-сервер хранилища конфигурации 1С

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Платформа 1С v8.3 Бесплатно (free)

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    3006    kamisov    17    

60

Infrastructure as code: кнопка «Сделать всё», или Упаковываем наше окружение в 5 кБ текста

DevOps и автоматизация разработки Бесплатно (free)

Когда под каждый проект нужно развернуть отдельный стенд разработки и сборочную линию для его обслуживания, велик риск влияния человеческого фактора. О том, как зафиксировать инженерный опыт в скриптах и унифицировать необходимые настройки для автоматизированного разворачивания инфраструктуры с помощью Terraform и Ansible, пойдет речь в статье.

01.11.2023    1390    Libelle    5    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Светлый ум 406 05.04.23 08:01 Сейчас в теме
2. Prooa 39 06.04.23 04:23 Сейчас в теме
Идея огонь! Попробовал развернуть, на запросе https://gitlab.com/api/v4/projects/???????????/repository/contributors?access_token=????????????? выдает ошибку 308, не подскажите что не так?
3. ImHunter 315 06.04.23 06:36 Сейчас в теме
4. arcius_7012 207 06.04.23 10:54 Сейчас в теме
(6) Ошибка похоже на неправильный url

Попробуйте в браузере открыть https://gitlab.com/api/v4/projects/??????????? (вместо ? должен быть ид проекта) - должен открыться json с описанием проекта, если нет, значит url другой должен быть

Если открыть https://gitlab.com/api/v4/projects - то выводится json
5. Prooa 39 06.04.23 11:54 Сейчас в теме
(4) открывается, но метод repository/contributors не работает.

** на компе локальном, где авторизирован на gitlab ссылка открывается, на сервере нет, и соответственно http запрос такой же ответ дает
6. Prooa 39 06.04.23 12:04 Сейчас в теме
1 на сервере в браузере json открылся https://gitlab.com/api/v4/projects/*********?access_token=***********************
2 запрос возвращает код 308 - /api/v4//projects/*********/repository/contributors?access_token=***********************
7. Prooa 39 06.04.23 12:10 Сейчас в теме
нашел причину, идем дальше
Прикрепленные файлы:
8. arcius_7012 207 06.04.23 12:19 Сейчас в теме
(7) Точно, можно сделать проверку на лишние "/", сразу и не заметил
9. Prooa 39 11.04.23 07:13 Сейчас в теме
Все получилось, +100500

Задача которая стояла:

Дано 6 бд, в каждой внешняя обработка выполняющая регламентные задания.

Нужно обеспечить чтобы во всех бд обработка была идентичная.

После изменения нужно было в каждой обновлять, и была вероятность что не везде это выполнено.

С помощью данного решения удалось решить данную задачу!!

Что доделали: сделали выгрузку на gitlab из 1C (update file) + регламетное задание для актуализации обработок во всех бд (в одной обновили, выгрузили на гит, и все разобрали).

Спасибо!
arcius_7012; +1 Ответить
10. arcius_7012 207 11.04.23 10:45 Сейчас в теме
(9) Пожалуйста)

Я тоже думаю что-то удобное сделать чтобы во всех базах по списку все само обновлялось автоматом
Оставьте свое сообщение