1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-05 15:15:50 +02:00
2024-03-28 15:50:50 +03:00

152 lines
7.0 KiB
Plaintext

#Использовать "../../../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 " + ТекущийМетод + "\" + Символы.ПС;
КонецЕсли;
ТекстРаботы = ТекстРаботы
+ " "
+ СтрокаПараметра.Параметр
+ " """
+ ОпределитьЗначениеПараметра(СтрокаПараметра.Параметр, Библиотека)
+ """ \"
+ Символы.ПС;
КонецЦикла;
Сообщить(ТекстРаботы);
КонецЦикла;
КонецПроцедуры
Функция ОпределитьЗначениеПараметра(Знач Параметр, Знач Библиотека)
СоответствиеБиблиотеки = СоответствияПараметровЗначениям[Библиотека];
Значение = СоответствиеБиблиотеки[СтрЗаменить(Параметр, "-", "")];
Если Не ЗначениеЗаполнено(Значение) Тогда
СоответствиеОбщее = СоответствияПараметровЗначениям["Общие"];
Значение = СоответствиеОбщее[СтрЗаменить(Параметр, "-", "")];
КонецЕсли;
Возврат Значение;
КонецФункции