1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-17 21:08:03 +02:00

Преобразование OPI -> OInt (workflow)

This commit is contained in:
Vitaly the Alpaca 2024-04-16 07:52:46 +00:00 committed by Vitaly the Alpaca (bot)
parent 767c4e3769
commit 2780f85170
3 changed files with 70 additions and 8 deletions

View File

@ -2822,6 +2822,20 @@
#КонецОбласти
#Область Slack
Процедура Слак_ОтправитьСообщение() Экспорт
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Token");
Канал = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Slack_Channel");
Текст = "Тестовое сообщение";
Результат = OPI_Slack.ОтправитьСообщение(Токен, Канал, Текст);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#КонецОбласти

View File

@ -211,6 +211,7 @@
МассивРазделов.Добавить("Google Calendar");
МассивРазделов.Добавить("Google Drive");
МассивРазделов.Добавить("Notion");
МассивРазделов.Добавить("Slack");
Возврат МассивРазделов;
@ -227,6 +228,7 @@
Драйв = "Google Drive";
ВСпейс = "Google Workspace";
Ноушн = "Notion";
Слак = "Slack";
ТаблицаТестов = Новый ТаблицаЗначений;
ТаблицаТестов.Колонки.Добавить("Метод");
@ -329,6 +331,8 @@
НовыйТест(ТаблицаТестов, "Ноушн_СоздатьУдалитьБлок" , "Создать/Удалить блок" , Ноушн);
НовыйТест(ТаблицаТестов, "Ноушн_ПолучитьПользователей" , "Получить пользователей" , Ноушн);
НовыйТест(ТаблицаТестов, "Ноушн_ПолучитьДанныеПользователя" , "Получить данные пользователя" , Ноушн);
НовыйТест(ТаблицаТестов, "Слак_ОтправитьСообщение" , "Отправить сообщение" , Слак);
Возврат ТаблицаТестов;

View File

@ -412,8 +412,9 @@
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
Соединение = СоздатьСоединение(Сервер);
ТелоЗапроса = Запрос.ПолучитьТелоКакПоток();
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", "", Ложь);
ТелоЗапроса = ПолучитьИмяВременногоФайла();
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", Ложь, "", Ложь);
ЗаписатьПараметрыМультипарт(ЗаписьТекста, Boundary, Параметры);
ЗаписатьФайлыМультипарт(ЗаписьТекста, Boundary, ТипКонтента, Файлы);
@ -421,6 +422,8 @@
ЗаписьТекста.ЗаписатьСтроку("--" + boundary + "--" + РазделительСтрок);
ЗаписьТекста.Закрыть();
Запрос.УстановитьИмяФайлаТела(ТелоЗапроса);
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
@ -434,7 +437,11 @@
Иначе
ОбработатьОтвет(Ответ);
КонецЕсли;
Запрос = Неопределено;
ЗаписьТекста = Неопределено;
УдалитьФайлы(ТелоЗапроса);
Возврат Ответ;
КонецФункции
@ -453,9 +460,9 @@
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
Соединение = СоздатьСоединение(Сервер);
ТелоЗапроса = Запрос.ПолучитьТелоКакПоток();
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", "", Ложь);
ТелоЗапроса = ПолучитьИмяВременногоФайла();
ЗаписьТекста = Новый ЗаписьДанных(ТелоЗапроса, КодировкаТекста.UTF8, ПорядокБайтов.LittleEndian, "", Ложь, "", Ложь);
ЗаписатьJSONМультипарт(ЗаписьТекста, Boundary, JSON);
ЗаписатьФайлыРелэйтед(ЗаписьТекста, Boundary, Файлы);
@ -464,6 +471,8 @@
ДобавитьContentLength(Запрос);
Запрос.УстановитьИмяФайлаТела(ТелоЗапроса);
Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос);
ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка;
@ -473,6 +482,10 @@
ОбработатьОтвет(Ответ);
КонецЕсли;
Запрос = Неопределено;
ЗаписьТекста = Неопределено;
УдалитьФайлы(ТелоЗапроса);
Возврат Ответ;
КонецФункции
@ -617,7 +630,7 @@
ЗаписьТекста.ЗаписатьСтроку("Content-Type: " + ТипКонтента);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
ЗаписьТекста.Записать(Файл.Значение);
ЗаписатьДвоичныеДанные(ЗаписьТекста, Файл.Значение);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
КонецЦикла;
@ -639,7 +652,7 @@
ЗаписьТекста.ЗаписатьСтроку("Content-Type: " + Файл.Значение);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
ЗаписьТекста.Записать(Файл.Ключ);
ЗаписатьДвоичныеДанные(ЗаписьТекста, Файл.Ключ);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
ЗаписьТекста.ЗаписатьСтроку(РазделительСтрок);
@ -649,6 +662,37 @@
КонецПроцедуры
Процедура ЗаписатьДвоичныеДанные(ЗаписьДанных, Знач ДвоичныеДанные)
РазмерЧасти = 268435456;
ПрочитанноБайт = 0;
ТекущаяПозиция = 0;
ОбщийРазмер = ДвоичныеДанные.Размер();
Пока ПрочитанноБайт < ОбщийРазмер Цикл
ЧтениеДанных = Новый ЧтениеДанных(ДвоичныеДанные);
ПрочитанноБайт = ЧтениеДанных.Пропустить(ТекущаяПозиция);
Результат = ЧтениеДанных.Прочитать(РазмерЧасти);
ТекущиеДанные = Результат.ПолучитьДвоичныеДанные();
РазмерТекущих = ТекущиеДанные.Размер();
Если Не ЗначениеЗаполнено(ТекущиеДанные) Тогда
Прервать;
КонецЕсли;
ЗаписьДанных.Записать(ТекущиеДанные);
ОсвободитьОбъект(ТекущиеДанные);
ВыполнитьСборкуМусора();
ТекущаяПозиция = ТекущаяПозиция + РазмерТекущих;
КонецЦикла;
КонецПроцедуры
Процедура ЗаписатьJSONМультипарт(ЗаписьТекста, Знач Boundary, Знач JSON)
Если Не ЗначениеЗаполнено(JSON) Тогда