1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-27 02:43:54 +02:00

B24: Канбан

This commit is contained in:
Anton 2024-07-07 19:42:01 +03:00
parent 3141953856
commit d8f22da591
8 changed files with 4432 additions and 4120 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1118,6 +1118,73 @@
#КонецОбласти
#Область Канбан
// Добавить стадию канбана
// Добавляет стабию канбана или Моего плана
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Наименование - Строка - Наименование новой стадии - title
// Цвет - Строка - HEX цвета новой стадии - color
// IDПредыдущей - Строка, Число - ID стадии, после которой необходимо вставить новую (в начало по ум.) - prevstage
// IDСущности - Строка, Число - ID группы или пользователя владельца канбан. Свой по умолчанию - entityid
// КакАдминистратор - Булево - Позволяет добавлять стадии без проверки прав (для администраторов) - admin
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ДобавитьСтадиюКанбана(Знач URL
, Знач Наименование
, Знач Цвет = "FFD800"
, Знач IDПредыдущей = 0
, Знач IDСущности = 0
, Знач КакАдминистратор = Ложь
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.add");
Поля = Новый Структура;
OPI_Инструменты.ДобавитьПоле("TITLE" , Наименование , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("COLOR" , Цвет , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("AFTER_ID" , IDПредыдущей , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("ENTITY_ID", IDСущности , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("isAdmin" , КакАдминистратор, "Булево", Поля);
Параметры.Вставить("fields", Поля);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить стадию канбана
// Удаляет стадию канбана, при условии, что в ней нет задач
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСтадии - Строка, Число - ID стадии для удаления - stage
// КакАдминистратор - Булево - Позволяет добавлять стадии без проверки прав (для администраторов) - admin
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьСтадиюКанбана(Знач URL, Знач IDСтадии, Знач КакАдминистратор = Ложь, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.delete");
OPI_Инструменты.ДобавитьПоле("id" , IDСтадии , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("isAdmin", КакАдминистратор, "Булево", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#Область РаботаСДискомИФайлами
// Получить список хранилищ

View File

@ -1,21 +1,21 @@
<package-def>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
</package-def>

View File

@ -3013,6 +3013,18 @@
КонецПроцедуры
Процедура Б24_Канбан() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ДобавитьСтадиюКанбана(ПараметрыТеста);
Bitrix24_УдалитьСтадиюКанбана(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -7913,7 +7925,7 @@
Проверка_БитриксМассив(Результат); // SKIP
OPI_Bitrix24.УдалитьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи);
OPI_Bitrix24.УдалитьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи); // SKIP
IDИсточника = ПараметрыФункции["Bitrix24_TaskID"];
IDПриемника = ПараметрыФункции["Bitrix24_HookTaskID"];
@ -7932,6 +7944,71 @@
КонецПроцедуры
Процедура Bitrix24_ДобавитьСтадиюКанбана(ПараметрыФункции)
Наименование = "Новая стадия";
Цвет = "0026FF";
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ДобавитьСтадиюКанбана(URL, Наименование, Цвет, 6);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСтадиюКанбана (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDПредыдущей = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookStageID", IDПредыдущей); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookStageID", IDПредыдущей); // SKIP
Наименование = "Новая стадия 2";
Цвет = "0026FF";
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ДобавитьСтадиюКанбана(URL, Наименование, Цвет, IDПредыдущей, , Истина, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСтадиюКанбана", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDСтадии = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_StageID", IDСтадии);
ПараметрыФункции.Вставить("Bitrix24_StageID", IDСтадии);
КонецПроцедуры
Процедура Bitrix24_УдалитьСтадиюКанбана(ПараметрыФункции)
IDСтадии = ПараметрыФункции["Bitrix24_HookStageID"];
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.УдалитьСтадиюКанбана(URL, IDСтадии, Истина);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбана (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
IDСтадии = ПараметрыФункции["Bitrix24_StageID"];
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.УдалитьСтадиюКанбана(URL, IDСтадии, , Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбана", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

@ -227,6 +227,7 @@
НовыйТест(ТаблицаТестов, "Б24_РаботаСЗадачами" , "Работа с задачами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСКомментариями" , "Работа с комментариями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСДиском" , "Работа с диском" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_Канбан" , "Канбан" , Битрикс);
Возврат ТаблицаТестов;

View File

@ -1118,6 +1118,73 @@
#КонецОбласти
#Область Канбан
// Добавить стадию канбана
// Добавляет стабию канбана или Моего плана
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Наименование - Строка - Наименование новой стадии - title
// Цвет - Строка - HEX цвета новой стадии - color
// IDПредыдущей - Строка, Число - ID стадии, после которой необходимо вставить новую (в начало по ум.) - prevstage
// IDСущности - Строка, Число - ID группы или пользователя владельца канбан. Свой по умолчанию - entityid
// КакАдминистратор - Булево - Позволяет добавлять стадии без проверки прав (для администраторов) - admin
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ДобавитьСтадиюКанбана(Знач URL
, Знач Наименование
, Знач Цвет = "FFD800"
, Знач IDПредыдущей = 0
, Знач IDСущности = 0
, Знач КакАдминистратор = Ложь
, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.add");
Поля = Новый Структура;
OPI_Инструменты.ДобавитьПоле("TITLE" , Наименование , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("COLOR" , Цвет , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("AFTER_ID" , IDПредыдущей , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("ENTITY_ID", IDСущности , "Строка", Поля);
OPI_Инструменты.ДобавитьПоле("isAdmin" , КакАдминистратор, "Булево", Поля);
Параметры.Вставить("fields", Поля);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить стадию канбана
// Удаляет стадию канбана, при условии, что в ней нет задач
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDСтадии - Строка, Число - ID стадии для удаления - stage
// КакАдминистратор - Булево - Позволяет добавлять стадии без проверки прав (для администраторов) - admin
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьСтадиюКанбана(Знач URL, Знач IDСтадии, Знач КакАдминистратор = Ложь, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "task.stages.delete");
OPI_Инструменты.ДобавитьПоле("id" , IDСтадии , "Строка", Параметры);
OPI_Инструменты.ДобавитьПоле("isAdmin", КакАдминистратор, "Булево", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#Область РаботаСДискомИФайлами
// Получить список хранилищ

View File

@ -227,6 +227,7 @@
НовыйТест(ТаблицаТестов, "Б24_РаботаСЗадачами" , "Работа с задачами" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСКомментариями" , "Работа с комментариями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСДиском" , "Работа с диском" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_Канбан" , "Канбан" , Битрикс);
Возврат ТаблицаТестов;

View File

@ -3013,6 +3013,18 @@
КонецПроцедуры
Процедура Б24_Канбан() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ДобавитьСтадиюКанбана(ПараметрыТеста);
Bitrix24_УдалитьСтадиюКанбана(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@ -7913,7 +7925,7 @@
Проверка_БитриксМассив(Результат); // SKIP
OPI_Bitrix24.УдалитьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи);
OPI_Bitrix24.УдалитьЗависимостьЗадач(URL, IDИсточника, IDПриемника, ТипСвязи); // SKIP
IDИсточника = ПараметрыФункции["Bitrix24_TaskID"];
IDПриемника = ПараметрыФункции["Bitrix24_HookTaskID"];
@ -7932,6 +7944,71 @@
КонецПроцедуры
Процедура Bitrix24_ДобавитьСтадиюКанбана(ПараметрыФункции)
Наименование = "Новая стадия";
Цвет = "0026FF";
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ДобавитьСтадиюКанбана(URL, Наименование, Цвет, 6);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСтадиюКанбана (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDПредыдущей = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookStageID", IDПредыдущей); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookStageID", IDПредыдущей); // SKIP
Наименование = "Новая стадия 2";
Цвет = "0026FF";
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ДобавитьСтадиюКанбана(URL, Наименование, Цвет, IDПредыдущей, , Истина, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСтадиюКанбана", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDСтадии = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_StageID", IDСтадии);
ПараметрыФункции.Вставить("Bitrix24_StageID", IDСтадии);
КонецПроцедуры
Процедура Bitrix24_УдалитьСтадиюКанбана(ПараметрыФункции)
IDСтадии = ПараметрыФункции["Bitrix24_HookStageID"];
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.УдалитьСтадиюКанбана(URL, IDСтадии, Истина);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбана (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
IDСтадии = ПараметрыФункции["Bitrix24_StageID"];
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.УдалитьСтадиюКанбана(URL, IDСтадии, , Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбана", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk