#Использовать "../../../cli/data" Перем СоответствияПараметровЗначениям; Процедура ПриСозданииОбъекта() СоответствияПараметровЗначениям = Новый Соответствие(); ТаблицаПараметров = СоставБиблиотеки.ПолучитьСостав(); ДобавитьСоответствияTelegram(); ДобавитьСоответствияОбщие(); СформироватьЗапуск(ТаблицаПараметров); КонецПроцедуры Процедура ДобавитьСоответствияTelegram() СоответствиеПЗ = Новый Соответствие(); СоответствиеПЗ.Вставить("token" , "${{ env.json_Telegram_Token }}"); СоответствиеПЗ.Вставить("url" , "${{ env.json_Telegram_URL }}"); СоответствиеПЗ.Вставить("chat" , "${{ env.json_Telegram_ChannelID }}"); СоответствиеПЗ.Вставить("mediag" , "mediagroup.json"); СоответствиеПЗ.Вставить("question" , "Да или нет?"); СоответствиеПЗ.Вставить("options" , "['Да', 'Нет', 'Затрудняюсь ответить']"); СоответствиеПЗ.Вставить("anonymous", "true"); СоответствиеПЗ.Вставить("message" , "${{ env.json_Telegram_ChannelMessageID }}"); СоответствиеПЗ.Вставить("to" , "${{ env.json_Telegram_ChatID }}"); СоответствиеПЗ.Вставить("from" , "${{ env.json_Telegram_ChannelID }}"); СоответствиеПЗ.Вставить("user" , "${{ env.json_Telegram_ChatID }}"); СоответствиеПЗ.Вставить("title" , "Тест"); СоответствиеПЗ.Вставить("expire" , "1"); СоответствиеПЗ.Вставить("limit" , "1"); СоответствиеПЗ.Вставить("forum" , "${{ env.json_Telegram_ForumID }}"); СоответствиеПЗ.Вставить("icon" , "5350444672789519765 "); СоответствиеПЗ.Вставить("topic" , "${{ env.json_Telegram_TopicID }}"); СоответствиеПЗ.Вставить("buttons" , "['Кнопка1','Кнопка2','Кнопка3']"); СоответствиеПЗ.Вставить("under" , "true"); СоответствиеПЗ.Вставить("column" , "false"); СоответствияПараметровЗначениям.Вставить("telegram", СоответствиеПЗ); КонецПроцедуры Процедура ДобавитьСоответствияОбщие() СоответствиеПЗ = Новый Соответствие(); СоответствиеПЗ.Вставить("lat" , "48.87373649724122"); СоответствиеПЗ.Вставить("long" , "48.87373649724122"); СоответствиеПЗ.Вставить("text" , "Тестовый текст"); СоответствиеПЗ.Вставить("picture", "${{ env.json_Picture }}"); СоответствиеПЗ.Вставить("video" , "${{ env.json_Video }}"); СоответствиеПЗ.Вставить("gif" , "${{ env.json_GIF }}"); СоответствиеПЗ.Вставить("audio" , "${{ env.json_Audio }}"); СоответствиеПЗ.Вставить("doc" , "${{ env.json_Document }}"); СоответствиеПЗ.Вставить("name" , "Петр"); СоответствиеПЗ.Вставить("surname", "Петров"); СоответствиеПЗ.Вставить("phone" , "+123456789"); СоответствияПараметровЗначениям.Вставить("Общие", СоответствиеПЗ); КонецПроцедуры Процедура СформироватьЗапуск(Знач ТаблицаПараметров) Для Каждого Вариант Из СоответствияПараметровЗначениям Цикл Библиотека = Вариант.Ключ; Если Библиотека = "Общие" Тогда Продолжить; КонецЕсли; ТекстРаботы = " | Testing-" + Библиотека + ": | runs-on: ubuntu-latest | needs: [Decode, Build] | steps: | | - name: Получить тестовые данные из кэша | uses: actions/cache/restore@v3 | with: | path: ./data.json | key: test-data | | - name: Скачать артефакт с исполняемым файлом | uses: actions/download-artifact@v4 | with: | name: oint | | - name: JSON в переменные | uses: rgarcia-phi/json-to-variables@v1.1.0 | with: | filename: 'data.json' | masked: true | | - name: chmod для OInt | run: chmod +x ./oint_bin | |"; Отбор = Новый Структура("Библиотека", Библиотека); СтрокиБиблиотеки = ТаблицаПараметров.НайтиСтроки(Отбор); ТекущийМетод = ""; Для Каждого СтрокаПараметра Из СтрокиБиблиотеки Цикл Если ТекущийМетод <> СтрокаПараметра.Метод Тогда ТекущийМетод = СтрокаПараметра.Метод; ТекстРаботы = ТекстРаботы + Символы.ПС + " | - name: Выполнить " + ТекущийМетод+ " | if: ${{ cancelled() }} == false | run: | | ./oint_bin " + ТекущийМетод + "\" + Символы.ПС; КонецЕсли; ТекстРаботы = ТекстРаботы + " " + СтрокаПараметра.Параметр + " """ + ОпределитьЗначениеПараметра(СтрокаПараметра.Параметр, Библиотека) + """ \" + Символы.ПС; КонецЦикла; Сообщить(ТекстРаботы); КонецЦикла; КонецПроцедуры Функция ОпределитьЗначениеПараметра(Знач Параметр, Знач Библиотека) СоответствиеБиблиотеки = СоответствияПараметровЗначениям[Библиотека]; Значение = СоответствиеБиблиотеки[СтрЗаменить(Параметр, "-", "")]; Если Не ЗначениеЗаполнено(Значение) Тогда СоответствиеОбщее = СоответствияПараметровЗначениям["Общие"]; Значение = СоответствиеОбщее[СтрЗаменить(Параметр, "-", "")]; КонецЕсли; Возврат Значение; КонецФункции