2024-03-28 14:46:21 +03:00
|
|
|
#Использовать "../../../cli/data"
|
|
|
|
|
|
|
|
Перем СоответствияПараметровЗначениям;
|
|
|
|
|
|
|
|
Процедура ПриСозданииОбъекта()
|
|
|
|
|
2024-03-28 15:50:50 +03:00
|
|
|
СоответствияПараметровЗначениям = Новый Соответствие();
|
2024-03-28 14:46:21 +03:00
|
|
|
ТаблицаПараметров = СоставБиблиотеки.ПолучитьСостав();
|
|
|
|
|
|
|
|
ДобавитьСоответствияTelegram();
|
2024-03-28 15:50:50 +03:00
|
|
|
ДобавитьСоответствияОбщие();
|
|
|
|
|
|
|
|
СформироватьЗапуск(ТаблицаПараметров);
|
|
|
|
|
2024-03-28 14:46:21 +03:00
|
|
|
КонецПроцедуры
|
|
|
|
|
|
|
|
Процедура ДобавитьСоответствия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");
|
2024-03-28 15:50:50 +03:00
|
|
|
СоответствиеПЗ.Вставить("column" , "false");
|
2024-03-28 14:46:21 +03:00
|
|
|
|
2024-03-28 15:50:50 +03:00
|
|
|
СоответствияПараметровЗначениям.Вставить("telegram", СоответствиеПЗ);
|
2024-03-28 14:46:21 +03:00
|
|
|
|
|
|
|
КонецПроцедуры
|
|
|
|
|
|
|
|
Процедура ДобавитьСоответствияОбщие()
|
|
|
|
|
|
|
|
СоответствиеПЗ = Новый Соответствие();
|
|
|
|
|
|
|
|
СоответствиеПЗ.Вставить("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");
|
|
|
|
|
2024-03-28 15:50:50 +03:00
|
|
|
СоответствияПараметровЗначениям.Вставить("Общие", СоответствиеПЗ);
|
2024-03-28 14:46:21 +03:00
|
|
|
|
|
|
|
КонецПроцедуры
|
|
|
|
|
2024-03-28 15:50:50 +03:00
|
|
|
Процедура СформироватьЗапуск(Знач ТаблицаПараметров)
|
|
|
|
|
|
|
|
Для Каждого Вариант Из СоответствияПараметровЗначениям Цикл
|
|
|
|
|
|
|
|
Библиотека = Вариант.Ключ;
|
|
|
|
Если Библиотека = "Общие" Тогда
|
|
|
|
Продолжить;
|
|
|
|
КонецЕсли;
|
|
|
|
|
|
|
|
ТекстРаботы = "
|
|
|
|
| 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 " + ТекущийМетод + "\" + Символы.ПС;
|
|
|
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
|
|
|
ТекстРаботы = ТекстРаботы
|
|
|
|
+ " "
|
|
|
|
+ СтрокаПараметра.Параметр
|
|
|
|
+ " """
|
|
|
|
+ ОпределитьЗначениеПараметра(СтрокаПараметра.Параметр, Библиотека)
|
|
|
|
+ """ \"
|
|
|
|
+ Символы.ПС;
|
|
|
|
|
|
|
|
КонецЦикла;
|
|
|
|
|
|
|
|
Сообщить(ТекстРаботы);
|
|
|
|
|
|
|
|
КонецЦикла;
|
|
|
|
|
|
|
|
КонецПроцедуры
|
|
|
|
|
|
|
|
Функция ОпределитьЗначениеПараметра(Знач Параметр, Знач Библиотека)
|
|
|
|
|
|
|
|
СоответствиеБиблиотеки = СоответствияПараметровЗначениям[Библиотека];
|
|
|
|
Значение = СоответствиеБиблиотеки[СтрЗаменить(Параметр, "-", "")];
|
|
|
|
|
|
|
|
Если Не ЗначениеЗаполнено(Значение) Тогда
|
|
|
|
|
|
|
|
СоответствиеОбщее = СоответствияПараметровЗначениям["Общие"];
|
|
|
|
Значение = СоответствиеОбщее[СтрЗаменить(Параметр, "-", "")];
|
|
|
|
|
|
|
|
КонецЕсли;
|
|
|
|
|
|
|
|
Возврат Значение;
|
|
|
|
|
|
|
|
КонецФункции
|
|
|
|
|