You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-25 22:12:29 +02:00
481 lines
30 KiB
Plaintext
481 lines
30 KiB
Plaintext
// OneScript: ./OInt/core/Modules/OPI_ReportPortal.os
|
|
// Lib: ReportPortal
|
|
// CLI: rportal
|
|
// Keywords: reportportal
|
|
|
|
// MIT License
|
|
|
|
// Copyright (c) 2023-2025 Anton Tsitavets
|
|
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to deal
|
|
// in the Software without restriction, including without limitation the rights
|
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
// copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
|
|
// The above copyright notice and this permission notice shall be included in all
|
|
// copies or substantial portions of the Software.
|
|
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
// SOFTWARE.
|
|
|
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
|
|
|
// BSLLS:Typo-off
|
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
|
// BSLLS:IncorrectLineBreak-off
|
|
// BSLLS:UnreachableCode-off
|
|
// BSLLS:CommentedCode-off
|
|
// BSLLS:UsingServiceTag-off
|
|
// BSLLS:NumberOfParams-off
|
|
// BSLLS:LineLength-off
|
|
// BSLLS:UsingSynchronousCalls-off
|
|
// BSLLS:MagicNumber-off
|
|
|
|
//@skip-check module-structure-top-region
|
|
//@skip-check module-structure-method-in-regions
|
|
//@skip-check wrong-string-literal-content
|
|
|
|
#Область ПрограммныйИнтерфейс
|
|
|
|
#Область Авторизация
|
|
|
|
// Получить временный токен
|
|
// Получает временный токен на основе логина и пароля
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Логин - Строка - Логин пользователя - login
|
|
// Пароль - Строка - Пароль пользователя - pass
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция ПолучитьВременныйТокен(Знач URL, Знач Логин, Знач Пароль) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Логин);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
|
|
|
ДополнитьURL(URL, "uat/sso/oauth/token");
|
|
|
|
Результат = OPI_ЗапросыHTTP.НовыйЗапрос()
|
|
.Инициализировать()
|
|
.УстановитьURL(URL)
|
|
.ДобавитьBasicАвторизацию("ui", "uiman")
|
|
.УстановитьFormТело(Новый Структура("grant_type,username,password", "password", Логин, Пароль))
|
|
.ОбработатьЗапрос("POST")
|
|
.ВернутьОтветКакJSONКоллекцию();
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
// Получить постоянный токен
|
|
// Создает постоянный токен пользователя ReportPortal
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Токен - Строка - Токен доступа - token
|
|
// IDПользователя - Строка - ID пользователя - user
|
|
// ИмяКлюча - Строка - Имя токена - name
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция ПолучитьПостоянныйТокен(Знач URL, Знач Токен, Знач IDПользователя, Знач ИмяКлюча) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПользователя);
|
|
|
|
ДополнитьURL(URL, СтрШаблон("api/users/%1/api-keys", IDПользователя));
|
|
|
|
Параметры = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("name", ИмяКлюча, "Строка", Параметры);
|
|
|
|
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
|
Результат = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры, Заголовки);
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
// Удалить постоянный токен
|
|
// Удаляет ранее созданный токен пользователя
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Токен - Строка - Токен доступа - token
|
|
// IDПользователя - Строка - ID пользователя - user
|
|
// IDКлюча - Строка - ID токена - id
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция УдалитьПостоянныйТокен(Знач URL, Знач Токен, Знач IDПользователя, Знач IDКлюча) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDПользователя);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDКлюча);
|
|
|
|
ДополнитьURL(URL, СтрШаблон("api/users/%1/api-keys/%2", IDПользователя, IDКлюча));
|
|
|
|
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
|
|
|
Результат = OPI_ЗапросыHTTP.Delete(URL, , Заголовки);
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область УправлениеРезультатами
|
|
|
|
// Создать запуск
|
|
// Запускает новый сеанс выполнения тестов
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Токен - Строка - Токен доступа - token
|
|
// Проект - Строка - ID проекта - proj
|
|
// СтруктураЗапуска - Структура Из КлючИЗначение - Параметры запуска. См. ПолучитьСтруктуруЗапуска - params
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция СоздатьЗапуск(Знач URL, Знач Токен, Знач Проект, Знач СтруктураЗапуска) Экспорт
|
|
|
|
ТекстОшибки = "Структура запуска не является корректной коллекцией КлючИЗначение";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураЗапуска, ТекстОшибки);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект);
|
|
|
|
ДополнитьURL(URL, СтрШаблон("api/v1/%1/launch", Проект));
|
|
|
|
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
|
|
|
Результат = OPI_ЗапросыHTTP.PostСТелом(URL, СтруктураЗапуска, Заголовки);
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
// Создать элемент
|
|
// Создает новый тестовый элемент
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Токен - Строка - Токен доступа - token
|
|
// Проект - Строка - ID проекта - proj
|
|
// СтруктураЭлемента - Структура Из КлючИЗначение - Параметры элемента. См. ПолучитьСтруктуруЭлемента - params
|
|
// Родитель - Строка - ID родительского элемента, если необходимо - parent
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция СоздатьЭлемент(Знач URL, Знач Токен, Знач Проект, Знач СтруктураЭлемента, Знач Родитель = "") Экспорт
|
|
|
|
ТекстОшибки = "Структура элемента не является корректной коллекцией КлючИЗначение";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураЭлемента, ТекстОшибки);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Родитель);
|
|
|
|
Родитель = ?(ЗначениеЗаполнено(Родитель), "/" + Родитель, "");
|
|
|
|
ДополнитьURL(URL, СтрШаблон("api/v1/%1/item%2", Проект, Родитель));
|
|
|
|
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
|
|
|
Результат = OPI_ЗапросыHTTP.PostСТелом(URL, СтруктураЭлемента, Заголовки);
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
// Завершить запуск
|
|
// Завершает запущенный ранее сеанс выполнения тестов
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Токен - Строка - Токен доступа - token
|
|
// Проект - Строка - ID проекта - proj
|
|
// IDЗапуска - Строка - ID запуска - id
|
|
// СтруктураЗавершения - Структура Из КлючИЗначение - Параметры завершения. См. ПолучитьСтруктуруЗавершенияЗапуска - params
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция ЗавершитьЗапуск(Знач URL, Знач Токен, Знач Проект, Знач IDЗапуска, Знач СтруктураЗавершения) Экспорт
|
|
|
|
ТекстОшибки = "Структура завершения не является корректной коллекцией КлючИЗначение";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураЗавершения, ТекстОшибки);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЗапуска);
|
|
|
|
ДополнитьURL(URL, СтрШаблон("api/v1/%1/launch/%2/finish", Проект, IDЗапуска));
|
|
|
|
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
|
|
|
Результат = OPI_ЗапросыHTTP.PutСТелом(URL, СтруктураЗавершения, Заголовки);
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
// Завершить элемент
|
|
// Завершает работу созданного ранее тестового элемента
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Токен - Строка - Токен доступа - token
|
|
// Проект - Строка - ID проекта - proj
|
|
// IDЭлемента - Строка - ID элемента - id
|
|
// СтруктураЗавершения - Структура Из КлючИЗначение - Параметры завершения. См. ПолучитьСтруктуруЗавершенияЭлемента - params
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция ЗавершитьЭлемент(Знач URL, Знач Токен, Знач Проект, Знач IDЭлемента, Знач СтруктураЗавершения) Экспорт
|
|
|
|
ТекстОшибки = "Структура завершения не является корректной коллекцией КлючИЗначение";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураЗавершения, ТекстОшибки);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDЭлемента);
|
|
|
|
ДополнитьURL(URL, СтрШаблон("api/v1/%1/item/%2", Проект, IDЭлемента));
|
|
|
|
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
|
|
|
Результат = OPI_ЗапросыHTTP.PutСТелом(URL, СтруктураЗавершения, Заголовки);
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру запуска
|
|
// Получает структуру параметров запуска
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
// КакСоответствие - Булево - Истина > возвращает поля фильтра как соответствие - map
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруЗапуска(Знач Пустая = Ложь, Знач КакСоответствие = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(КакСоответствие);
|
|
|
|
Если КакСоответствие Тогда
|
|
СтруктураЗапуска = Новый Соответствие;
|
|
Иначе
|
|
СтруктураЗапуска = Новый Структура;
|
|
КонецЕсли;
|
|
|
|
СтруктураЗапуска.Вставить("name" , "<название запуска>");
|
|
СтруктураЗапуска.Вставить("startTime" , "<время начала запуска>");
|
|
СтруктураЗапуска.Вставить("description", "<описание запуска>");
|
|
СтруктураЗапуска.Вставить("uuid" , "<UUID запуска. Будет сгенерирован автоматически, если не заполнено>");
|
|
СтруктураЗапуска.Вставить("attributes" , "<атрибуты запуска в виде ключ1:значение1, ключ2:значение2>");
|
|
СтруктураЗапуска.Вставить("mode" , "<режим: default или debug>");
|
|
СтруктураЗапуска.Вставить("rerun" , "<признак перезапуска>");
|
|
СтруктураЗапуска.Вставить("rerunOf" , "<UUID уже существующего запуска, если rerun = Истина>");
|
|
|
|
Если Пустая Тогда
|
|
СтруктураЗапуска = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЗапуска);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураЗапуска;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру элемента
|
|
// Получает структуру параметров тестового элемента
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
// КакСоответствие - Булево - Истина > возвращает поля фильтра как соответствие - map
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруЭлемента(Знач Пустая = Ложь, Знач КакСоответствие = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(КакСоответствие);
|
|
|
|
Если КакСоответствие Тогда
|
|
СтруктураЭлемента = Новый Соответствие;
|
|
Иначе
|
|
СтруктураЭлемента = Новый Структура;
|
|
КонецЕсли;
|
|
|
|
СтруктураЭлемента.Вставить("name" , "<название элемента>");
|
|
СтруктураЭлемента.Вставить("startTime" , "<время начала>");
|
|
СтруктураЭлемента.Вставить("type" , "<тип элемента: suite, story, test, scenario, step, before_class, before_groups, before_method, before_suite, before_test, after_class, after_groups, after_method, after_suite, after_test>");
|
|
СтруктураЭлемента.Вставить("launchUuid" , "<UUID запуска>");
|
|
СтруктураЭлемента.Вставить("description", "<описание элемента>");
|
|
СтруктураЭлемента.Вставить("attributes" , "<атрибуты элемента в виде ключ1:значение1, ключ2:значение2>");
|
|
СтруктураЭлемента.Вставить("uuid" , "<UUID элемента. Будет сгенерирован автоматически, если не заполнено>");
|
|
СтруктураЭлемента.Вставить("codeRef" , "<физическое расположение тестов>");
|
|
СтруктураЭлемента.Вставить("parameters" , "<параметры для параметризированных тестов>");
|
|
СтруктураЭлемента.Вставить("retry" , "<является перезапуском>");
|
|
|
|
Если Пустая Тогда
|
|
СтруктураЭлемента = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЭлемента);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураЭлемента;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру завершения элемента
|
|
// Получает структуру параметров завершения выполнения тестового элемента
|
|
//
|
|
// Параметры:
|
|
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
|
|
// КакСоответствие - Булево - Истина > возвращает поля фильтра как соответствие - map
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруЗавершенияЭлемента(Знач Пустая = Ложь, Знач КакСоответствие = Ложь) Экспорт
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
|
|
OPI_ПреобразованиеТипов.ПолучитьБулево(КакСоответствие);
|
|
|
|
Если КакСоответствие Тогда
|
|
СтруктураЭлемента = Новый Соответствие;
|
|
Иначе
|
|
СтруктураЭлемента = Новый Структура;
|
|
КонецЕсли;
|
|
|
|
СтруктураЭлемента.Вставить("endTime" , "<время окончания>");
|
|
СтруктураЭлемента.Вставить("launchUuid" , "<UUID запуска>");
|
|
СтруктураЭлемента.Вставить("status" , "<статус завершения: passed, failed, stopped, skipped, interrupted, cancelled>");
|
|
СтруктураЭлемента.Вставить("description", "<описание элемента. Перезаписывает указанное при создании>");
|
|
СтруктураЭлемента.Вставить("attributes" , "<атрибуты элемента. Перезаписывает указанное при создании>");
|
|
СтруктураЭлемента.Вставить("retry" , "<флаг завершения повторной попытки>");
|
|
СтруктураЭлемента.Вставить("issue" , "<информация о проблеме>");
|
|
|
|
Если Пустая Тогда
|
|
СтруктураЭлемента = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураЭлемента);
|
|
КонецЕсли;
|
|
|
|
//@skip-check constructor-function-return-section
|
|
Возврат СтруктураЭлемента;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру завершения запуска
|
|
// Получает структуру параметров завершения тестового сеанса
|
|
//
|
|
// Параметры:
|
|
// Время - Дата - Дата и время завершения запуска - end
|
|
// Статус - Строка - Статус заверщения: passed, failed, stopped, skipped, interrupted, cancelled - status
|
|
// Описание - Строка - Описание запуска. Перезаписывает указанное при создании - descr
|
|
// Артибуты - Строка - Атрибуты запуска. Перезаписывает указанное при создании - attr
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруЗавершенияЗапуска(Знач Время, Знач Статус = "", Знач Описание = "", Знач Артибуты = "") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
СтруктураЗавершения = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("endTime" , Время , "ДатаISO", СтруктураЗавершения);
|
|
OPI_Инструменты.ДобавитьПоле("status" , Статус , Строка_ , СтруктураЗавершения);
|
|
OPI_Инструменты.ДобавитьПоле("description", Описание, Строка_ , СтруктураЗавершения);
|
|
OPI_Инструменты.ДобавитьПоле("attributes" , Артибуты, Строка_ , СтруктураЗавершения);
|
|
|
|
Возврат СтруктураЗавершения;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#Область ЗаписьЛогов
|
|
|
|
// Записать лог
|
|
// Добавляет информацию о выполнении для тестового элемента
|
|
//
|
|
// Параметры:
|
|
// URL - Строка - URL сервера ReportPortal - url
|
|
// Токен - Строка - Токен доступа - token
|
|
// Проект - Строка - ID проекта - proj
|
|
// СтруктураЛога - Структура Из КлючИЗначение - Информация о выполнении. См. ПолучитьСтруктуруЛога - params
|
|
//
|
|
// Возвращаемое значение:
|
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от ReportPortal
|
|
Функция ЗаписатьЛог(Знач URL, Знач Токен, Знач Проект, Знач СтруктураЛога) Экспорт
|
|
|
|
ТекстОшибки = "Структура лога не является корректной коллекцией КлючИЗначение";
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьКоллекциюКлючИЗначение(СтруктураЛога, ТекстОшибки);
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект);
|
|
|
|
ДополнитьURL(URL, СтрШаблон("api/v1/%1/log", Проект));
|
|
|
|
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
|
|
|
Результат = OPI_ЗапросыHTTP.PostСТелом(URL, СтруктураЛога, Заголовки);
|
|
|
|
Возврат Результат;
|
|
|
|
КонецФункции
|
|
|
|
// Получить структуру лога
|
|
// Получает структуру параметров для записи лога
|
|
//
|
|
// Параметры:
|
|
// IDЗапуска - Строка - ID запуска, к которому принадлежит тестовый элемент - launch
|
|
// IDЭлемента - Строка - ID тестового элемента - id
|
|
// Время - Дата - Дата и время записи лога - time
|
|
// Текст - Строка - Текстовая информация лога - text
|
|
// Уровень - Строка - Уровень информации: error, warn, info, debug, trace, fatal, unknown - level
|
|
//
|
|
// Возвращаемое значение:
|
|
// Структура Из КлючИЗначение - Структура полей
|
|
Функция ПолучитьСтруктуруЛога(Знач IDЗапуска, Знач IDЭлемента, Знач Время, Знач Текст = "", Знач Уровень = "info") Экспорт
|
|
|
|
Строка_ = "Строка";
|
|
|
|
СтруктураЛога = Новый Структура;
|
|
OPI_Инструменты.ДобавитьПоле("launchUuid", IDЗапуска , Строка_ , СтруктураЛога);
|
|
OPI_Инструменты.ДобавитьПоле("itemUuid" , IDЭлемента, Строка_ , СтруктураЛога);
|
|
OPI_Инструменты.ДобавитьПоле("time" , Время , "Дата" , СтруктураЛога);
|
|
OPI_Инструменты.ДобавитьПоле("message" , Текст , Строка_ , СтруктураЛога);
|
|
OPI_Инструменты.ДобавитьПоле("level" , Уровень , Строка_ , СтруктураЛога);
|
|
|
|
Возврат СтруктураЛога;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|
|
|
|
#КонецОбласти
|
|
|
|
#Область СлужебныеПроцедурыИФункции
|
|
|
|
Процедура ДополнитьURL(URL, Знач Путь)
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
|
|
|
|
URL = ?(СтрЗаканчиваетсяНа(URL, "/"), URL, URL + "/");
|
|
URL = URL + Путь;
|
|
|
|
КонецПроцедуры
|
|
|
|
Функция ПолучитьЗаголовокАвторизации(Знач Токен)
|
|
|
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
|
|
|
Заголовки = Новый Соответствие;
|
|
OPI_Инструменты.ДобавитьПоле("Authorization", СтрШаблон("Bearer %1", Токен), "Строка", Заголовки);
|
|
|
|
Возврат Заголовки;
|
|
|
|
КонецФункции
|
|
|
|
#КонецОбласти
|