mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-17 20:58:01 +02:00
Добавил попытку в создание файла CF, если не удалось отправить на яндекс диск или гитхаб временная папка удаляется в любом случае.
This commit is contained in:
parent
f95b83b2a2
commit
074d7af876
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,3 +14,5 @@ src/cf/ConfigDumpInfo.xml
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
src/scripts/CF dev/params.json
|
||||
src/scripts/CF dev/*.txt
|
||||
src/scripts/CF dev/v8r_TempDB/*.*
|
||||
|
@ -47,58 +47,63 @@
|
||||
ПутьКФайлуКонфигурации = ОбъединитьПути(Конфигуратор.ПутьКВременнойБазе(), ИмяФайлаКонфигурации);
|
||||
Конфигуратор.ВыгрузитьКонфигурациюВФайл(ПутьКФайлуКонфигурации);
|
||||
|
||||
// Публикация файла на Яндекс.Диске.
|
||||
Попытка
|
||||
|
||||
ТокенАвторизации = МенеджерПараметров.Параметр("Яндекс.Токен");
|
||||
КаталогНаЯндексДиске = МенеджерПараметров.Параметр("Яндекс.Каталог");
|
||||
// Публикация файла на Яндекс.Диске.
|
||||
|
||||
ЯндексДиск = Новый ЯндексДиск;
|
||||
ЯндексДиск.УстановитьТокенАвторизации(ТокенАвторизации);
|
||||
ТокенАвторизации = МенеджерПараметров.Параметр("Яндекс.Токен");
|
||||
КаталогНаЯндексДиске = МенеджерПараметров.Параметр("Яндекс.Каталог");
|
||||
|
||||
ПутьНаЯндексДиске = ИмяФайлаКонфигурации;
|
||||
Если Не ПустаяСтрока(КаталогНаЯндексДиске) Тогда
|
||||
ПутьНаЯндексДиске = КаталогНаЯндексДиске + "/" + ПутьНаЯндексДиске;
|
||||
КонецЕсли;
|
||||
Лог.Отладка("Путь на Я.Диске: " + ПутьНаЯндексДиске);
|
||||
ЯндексДиск = Новый ЯндексДиск;
|
||||
ЯндексДиск.УстановитьТокенАвторизации(ТокенАвторизации);
|
||||
|
||||
Лог.Информация("Загрузка файла на Я.Диск");
|
||||
ЯндексДиск.ЗагрузитьНаДиск(ПутьКФайлуКонфигурации, ПутьНаЯндексДиске, Истина);
|
||||
ПутьНаЯндексДиске = ИмяФайлаКонфигурации;
|
||||
Если Не ПустаяСтрока(КаталогНаЯндексДиске) Тогда
|
||||
ПутьНаЯндексДиске = КаталогНаЯндексДиске + "/" + ПутьНаЯндексДиске;
|
||||
КонецЕсли;
|
||||
Лог.Отладка("Путь на Я.Диске: " + ПутьНаЯндексДиске);
|
||||
|
||||
Лог.Информация("Публикация файла на Я.Диске");
|
||||
СсылкаНаЯндексДиске = ЯндексДиск.Опубликовать(ПутьНаЯндексДиске);
|
||||
Лог.Информация("Загрузка файла на Я.Диск");
|
||||
ЯндексДиск.ЗагрузитьНаДиск(ПутьКФайлуКонфигурации, ПутьНаЯндексДиске, Истина);
|
||||
|
||||
// Отправка комментария на GitHub.
|
||||
Лог.Информация("Публикация файла на Я.Диске");
|
||||
СсылкаНаЯндексДиске = ЯндексДиск.Опубликовать(ПутьНаЯндексДиске);
|
||||
|
||||
ТокенАвторизации = МенеджерПараметров.Параметр("GitHub.Токен");
|
||||
ПолноеИмяРепозитория = МенеджерПараметров.Параметр("GitHub.Репозиторий");
|
||||
НомерЗадачи = МенеджерПараметров.Параметр("GitHub.НомерЗадачи");
|
||||
// Отправка комментария на GitHub.
|
||||
|
||||
UrlЗапроса = "https://api.github.com/repos/%1/issues/%2/comments";
|
||||
UrlЗапроса = СтрШаблон(UrlЗапроса, ПолноеИмяРепозитория, НомерЗадачи);
|
||||
Лог.Отладка("URL запроса: " + UrlЗапроса);
|
||||
ТокенАвторизации = МенеджерПараметров.Параметр("GitHub.Токен");
|
||||
ПолноеИмяРепозитория = МенеджерПараметров.Параметр("GitHub.Репозиторий");
|
||||
НомерЗадачи = МенеджерПараметров.Параметр("GitHub.НомерЗадачи");
|
||||
|
||||
ЗаголовкиЗапроса = Новый Соответствие;
|
||||
ЗаголовкиЗапроса.Вставить("Accept", "application/vnd.github.v3+json");
|
||||
ЗаголовкиЗапроса.Вставить("User-Agent", "oscript-tasks");
|
||||
ЗаголовкиЗапроса.Вставить("Authorization", СтрШаблон("token %1", ТокенАвторизации));
|
||||
UrlЗапроса = "https://api.github.com/repos/%1/issues/%2/comments";
|
||||
UrlЗапроса = СтрШаблон(UrlЗапроса, ПолноеИмяРепозитория, НомерЗадачи);
|
||||
Лог.Отладка("URL запроса: " + UrlЗапроса);
|
||||
|
||||
ПараметрыЗапроса = Новый Структура();
|
||||
ПараметрыЗапроса.Вставить("Заголовки", ЗаголовкиЗапроса);
|
||||
ЗаголовкиЗапроса = Новый Соответствие;
|
||||
ЗаголовкиЗапроса.Вставить("Accept", "application/vnd.github.v3+json");
|
||||
ЗаголовкиЗапроса.Вставить("User-Agent", "oscript-tasks");
|
||||
ЗаголовкиЗапроса.Вставить("Authorization", СтрШаблон("token %1", ТокенАвторизации));
|
||||
|
||||
ТекстКомментария = СтрШаблон("[%1](%2)", ИмяФайлаКонфигурации, СсылкаНаЯндексДиске);
|
||||
Лог.Отладка("Текст комментария: " + ТекстКомментария);
|
||||
ПараметрыЗапроса = Новый Структура();
|
||||
ПараметрыЗапроса.Вставить("Заголовки", ЗаголовкиЗапроса);
|
||||
|
||||
Тело = Новый Структура;
|
||||
Тело.Вставить("body", ТекстКомментария);
|
||||
ТекстКомментария = СтрШаблон("[%1](%2)", ИмяФайлаКонфигурации, СсылкаНаЯндексДиске);
|
||||
Лог.Отладка("Текст комментария: " + ТекстКомментария);
|
||||
|
||||
Лог.Информация("Пост комментария на GitHub");
|
||||
Ответ = КоннекторHTTP.Post(UrlЗапроса, , Тело, ПараметрыЗапроса);
|
||||
Тело = Новый Структура;
|
||||
Тело.Вставить("body", ТекстКомментария);
|
||||
|
||||
Лог.Отладка("Код ответа: " + Ответ.КодСостояния);
|
||||
Если Ответ.КодСостояния <> 201 Тогда
|
||||
Лог.Ошибка(Ответ.Текст());
|
||||
ЗавершитьРаботу(1);
|
||||
КонецЕсли;
|
||||
Лог.Информация("Пост комментария на GitHub");
|
||||
Ответ = КоннекторHTTP.Post(UrlЗапроса, , Тело, ПараметрыЗапроса);
|
||||
|
||||
Лог.Отладка("Код ответа: " + Ответ.КодСостояния);
|
||||
Если Ответ.КодСостояния <> 201 Тогда
|
||||
Лог.Ошибка(Ответ.Текст());
|
||||
ЗавершитьРаботу(1);
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
Сообщить("Ошибка! не удалось отправить файл на яндекс диск или в GitHub");
|
||||
КонецПопытки;
|
||||
|
||||
// Удаление временных файлов
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user