Skip to content
This repository has been archived by the owner on Nov 27, 2019. It is now read-only.

Commit

Permalink
Merge branch 'hotfix/1.2.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
theshadowco committed May 8, 2019
2 parents 96500f9 + 4836d07 commit b721f49
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 40 deletions.
2 changes: 1 addition & 1 deletion src/Модули/ПараметрыСистемы.os
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
//
Функция ВерсияПродукта() Экспорт

Версия = "1.2";
Версия = "1.2.1";
Возврат Версия;

КонецФункции // ВерсияПродукта()
Expand Down
91 changes: 52 additions & 39 deletions src/Модули/Сонар.os
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
Ответ = ВыполнитьЗапрос(АдресСервера, Токен, URL, "GET");

Для Каждого ОписаниеПроекта Из Ответ.components Цикл

НовыйПроект = Новый Структура();
НовыйПроект.Вставить("Идентификатор", ОписаниеПроекта.id);
НовыйПроект.Вставить("Код", ОписаниеПроекта.key);
Expand All @@ -48,13 +48,13 @@
Если БольшеНетДанных(Ответ) Тогда
Прервать;
КонецЕсли;

НомерСтраницы = НомерСтраницы + 1;

КонецЦикла;

Возврат Проекты;

КонецФункции

// ПолучитьЗамечанияПроекта
Expand Down Expand Up @@ -114,11 +114,11 @@
URL = СтрШаблон(URLШаблон, КлючКомпонента, "&onComponentOnly=true");
Ответ = ВыполнитьЗапрос(АдресСервера, Токен, URL + Формат(НомерСтраницы, "ЧГ="), "GET");
КонецЕсли;

Для Каждого ОписаниеОшибки Из Ответ.issues Цикл

ПутьКФайлу = СтрЗаменить(ОписаниеОшибки.component, ОписаниеПроекта.Код + ":", "");

Если ИзEDTВКонфигуратор Тогда
ПутьКФайлу = СтрЗаменить(ПутьКФайлу, "configuration/src/", "src/configuration/");
ПутьКФайлу = СтрЗаменить(ПутьКФайлу, "/ManagerModule.bsl", "/Ext/ManagerModule.bsl");
Expand All @@ -139,7 +139,7 @@
НовоеОписаниеОшибки.Вставить("КоличествоВсего", 1);
Хэш = ПолучитьХэшЗамечания(ОписаниеОшибки);
НовоеОписаниеОшибки.Вставить("Хэш", Хэш);

ТекущийМодуль = Замечания.Получить(ПутьКФайлу);
Если ТекущийМодуль = Неопределено Тогда
ТекущийМодуль = Новый Структура("ПутьКФайлу, Правила, Ключ", ПутьКФайлу, Новый Соответствие(), ОписаниеОшибки.component);
Expand All @@ -156,21 +156,21 @@
ТекущаяОшибка.Количество = ТекущаяОшибка.Количество + 1;
ТекущаяОшибка.КоличествоВсего = ТекущаяОшибка.КоличествоВсего + 1;
КонецЕсли;

ТекущееПравило.Ошибки.Вставить(ТекущаяОшибка.Хэш, ТекущаяОшибка);
ТекущийМодуль.Правила.Вставить(ТекущееПравило.Правило, ТекущееПравило);
Замечания.Вставить(ПутьКФайлу, ТекущийМодуль);

КонецЦикла;

Если БольшеНетДанных(Ответ) Тогда
Прервать;
КонецЕсли;

НомерСтраницы = НомерСтраницы + 1;

КонецЦикла;

КонецЦикла;
Возврат Замечания;

Expand All @@ -191,10 +191,10 @@
Для Каждого Замечание Из Правило.Значение.Ошибки Цикл
Замечание.Значение.КоличествоВсего = 0;
КонецЦикла;

URL = СтрШаблон(URLШаблон, Файл.Значение.Ключ, Правило.Значение.Правило);
НомерСтраницы = 1;

Пока Истина Цикл
Ответ = ВыполнитьЗапрос(АдресСервера, Токен, URL + Формат(НомерСтраницы, "ЧГ="), "GET");
Для Каждого ОписаниеОшибки Из Ответ.issues Цикл
Expand All @@ -211,7 +211,7 @@
Если БольшеНетДанных(Ответ) Тогда
Прервать;
КонецЕсли;

НомерСтраницы = НомерСтраницы + 1;

КонецЦикла;
Expand All @@ -236,8 +236,8 @@
Функция ПолучитьЗакрываемыеЗамечания(АдресСервера, Токен, ОписаниеПроекта, ЗамечанияРодительскогоПроекта) Экспорт

Замечания = Новый Соответствие();
Статусы = СтрРазделить("OPEN,CONFIRMED,REOPENED", ",", ЛОЖЬ);

Статусы = СтрРазделить("OPEN,CONFIRMED,REOPENED", ",", Ложь);
URLШаблон = "issues/search?componentKeys=%1&rules=%2&ps=500&p=";
Для Каждого Файл Из ЗамечанияРодительскогоПроекта Цикл
Для Каждого Правило Из Файл.Значение.Правила Цикл
Expand All @@ -263,15 +263,15 @@
ТекущаяОшибка.Вставить("РодительскоеЗамечание", РодительскоеЗамечание);
ТекущаяОшибка.Вставить("Ключи", Новый Массив());
КонецЕсли;

ТекущаяОшибка.КоличествоВсего = ТекущаяОшибка.КоличествоВсего + 1;
Если Статусы.Найти(ОписаниеОшибки.status) <> Неопределено Тогда
ТекущаяОшибка.Количество = ТекущаяОшибка.Количество + 1;
ТекущаяОшибка.Ключи.Добавить(ОписаниеОшибки.key);
КонецЕсли;

Замечания.Вставить(КлючОшибки, ТекущаяОшибка);

КонецЦикла;

Если БольшеНетДанных(Ответ) Тогда
Expand Down Expand Up @@ -313,7 +313,7 @@

URL = СтрШаблон("issues/bulk_change?do_transition=wontfix&comment=%1&issues=", Комментарий);
URLДобавленияТегов = СтрШаблон("issues/bulk_change?add_tags=%1&issues=", Теги);

ЗамечанияДляОбработки = Новый Массив();
Для Каждого Замечание Из ЗакрываемыеЗамечания Цикл

Expand Down Expand Up @@ -357,10 +357,10 @@
Для Каждого Метрика Из ТребуемыеМетрики Цикл
МетрикиСтрокой = МетрикиСтрокой + ?(ПустаяСтрока(МетрикиСтрокой), "", ",") + Метрика.Ключ;
КонецЦикла;

Метрики = Новый Структура();
ДоступныеМетрики = ДоступныеМетрики();

URL = "measures/component?metricKeys=" + МетрикиСтрокой + "&component=" + ОписаниеПроекта.Код;
Ответ = ВыполнитьЗапрос(АдресСервера, Токен, URL, "GET");

Expand Down Expand Up @@ -389,7 +389,7 @@
КонецЦикла;

Возврат Метрики;

КонецФункции

// ДоступныеМетрики
Expand Down Expand Up @@ -428,9 +428,9 @@
Результат.Вставить("new_minor_violations", "Незначительные замечания в новом коде");
Результат.Вставить("duplicated_blocks", "Дублирующиеся участки кода");
Результат.Вставить("new_duplicated_blocks", "Дублирующиеся участки в новом коде");

Возврат Результат;

КонецФункции

///////////////////////////////////////////////////////////////////
Expand All @@ -440,7 +440,7 @@
Функция БольшеНетДанных(ОтветСервера)

Возврат ОтветСервера.paging.pageSize * ОтветСервера.paging.pageIndex >= ОтветСервера.paging.total;

КонецФункции

Функция ПолучитьХэшЗамечания(ОписаниеОшибки)
Expand All @@ -450,17 +450,31 @@
Возврат Хэш + ОписаниеОшибки.hash + ?(ОписаниеОшибки.Свойство("line"), ОписаниеОшибки.line, "");
Иначе
Возврат Хэш + ?(ОписаниеОшибки.Свойство("textRange"),
"" + ОписаниеОшибки.textRange.startLine + ОписаниеОшибки.textRange.endLine
+ ОписаниеОшибки.textRange.startOffset + ОписаниеОшибки.textRange.endOffset,
"");
"" + ОписаниеОшибки.textRange.startLine + ОписаниеОшибки.textRange.endLine
+ ОписаниеОшибки.textRange.startOffset + ОписаниеОшибки.textRange.endOffset,
"");
КонецЕсли;

КонецФункции

Функция ВыполнитьЗапрос(АдресСервера, Токен, URL, Операция)
Функция ВыполнитьЗапрос(Знач АдресСервера, Токен, URL, Операция)

Префикс = "/";
Если СтрНайти(АдресСервера, "/") > 2 Тогда
ЭлементыАдреса = СтрРазделить(АдресСервера, "/", Истина);
АдресСервера = ЭлементыАдреса[0] + "/" + ЭлементыАдреса[1] + "/" + ЭлементыАдреса[2];
Для Ит = 3 По ЭлементыАдреса.Количество() - 1 Цикл
Если НЕ ЗначениеЗаполнено(ЭлементыАдреса[Ит]) Тогда
Продолжить;
КонецЕсли;

Префикс = Префикс + ЭлементыАдреса[Ит] + "/";
КонецЦикла;
КонецЕсли;

HTTPЗапрос = Новый HTTPЗапрос;
HTTPЗапрос.АдресРесурса = "/api/" + URL;
HTTPЗапрос.АдресРесурса = Префикс + "api/" + URL;
Сообщить(HTTPЗапрос.АдресРесурса);
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");

HTTP = Новый HTTPСоединение(АдресСервера, , Токен);
Expand All @@ -473,14 +487,13 @@
Если ОтветHTTP.КодСостояния = 200 Тогда
json = Новый ЧтениеJSON();
json.УстановитьСтроку(ОтветHTTP.ПолучитьТелоКакСтроку());
// Сообщить(ОтветHTTP.ПолучитьТелоКакСтроку());
Возврат ПрочитатьJson(json);
КонецЕсли;

ТекстИсключения = СтрШаблон("Код ответа: %1
|Ответ: %2
|URL: %3",
ОтветHTTP.КодСостояния, ОтветHTTP.ПолучитьТелоКакСтроку(), URL);
|Ответ: %2
|URL: %3",
ОтветHTTP.КодСостояния, ОтветHTTP.ПолучитьТелоКакСтроку(), URL);
ВызватьИсключение ТекстИсключения;

КонецФункции
Expand All @@ -494,13 +507,13 @@
URL = URL + "&statuses=" + СтатусыСтрокой;
КонецЕсли;
ОтветСервера = ВыполнитьЗапрос(АдресСервера, Токен, URL, "GET");

Возврат ОтветСервера.total;

КонецФункции

Функция ПолучитьКлючиКомпонентов(АдресСервера, Токен, КлючКомпонента, СтатусыСтрокой, ТолькоКаталоги = Истина)

КлючиКомпонент = Новый СписокЗначений();
КоличествоЗамечанийПроекта = ПолучитьКоличествоЗамечанийКомпонента(АдресСервера, Токен, КлючКомпонента, СтатусыСтрокой);
Если КоличествоЗамечанийПроекта > МаксимальныйРазмерПорцииДанных Тогда
Expand Down

0 comments on commit b721f49

Please sign in to comment.