diff --git a/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl index 9cd20670c3..227d8cdc85 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Bitrix24/Module.bsl @@ -5114,6 +5114,856 @@ #КонецОбласти +#Область РаботаСоСкрамом + +#Область Бэклог + +// Добавить бэклог +// Добавляет бэклог в Скрам по структуре полей +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.backlog.add](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/backlog/tasks-api-scrum-backlog-add.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей бэклога (см. ПолучитьДоступныеПоляБэклога) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ДобавитьБэклогВСкрам(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.backlog.add"); + + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Обновить бэклог +// Обновляет бэклог в Скрам по структуре полей +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.backlog.update](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/backlog/tasks-api-scrum-backlog-update.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDБэклога - Число,Строка - ID бэклога - backlog +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей бэклога (см. ПолучитьДоступныеПоляБэклога) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ОбновитьБэклог(Знач URL, Знач IDБэклога, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.backlog.update"); + + OPI_Инструменты.ДобавитьПоле("id" , IDБэклога , "Строка" , Параметры); + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить бэклог +// Получает поля бэклога (см. ПолучитьДоступныеПоляБэклога) по идентификатору рабочей группы Скрама +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.backlog.get](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/backlog/tasks-api-scrum-backlog-get.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDГруппы - Число,Строка - ID рабочей группы - group +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей задачи (см. ПолучитьДоступныеПоляБэклога) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьЗначениеПолейБэклога(Знач URL, Знач IDГруппы, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.backlog.get"); + + OPI_Инструменты.ДобавитьПоле("id", IDГруппы, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Удалить бэклог +// Удаляет бэклог по идентификатору +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.backlog.delete](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/backlog/tasks-api-scrum-backlog-delete.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDБэклога - Число,Строка - ID бэклога - backlog +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция УдалитьБэклог(Знач URL, Знач IDБэклога, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.backlog.delete"); + + OPI_Инструменты.ДобавитьПоле("id", IDБэклога, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить список доступных полей +// Получает список доступных полей бэклога +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.backlog.getFields](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/backlog/tasks-api-scrum-backlog-get-fields.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьДоступныеПоляБэклога(Знач URL, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.backlog.getFields"); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +#КонецОбласти + +#Область КанбанСкрама + +// Создать стадию канбана Скрама +// Создает стадию канбана Скрама по структуре полей (см. ПолучитьДоступныеПоляСтадииКанбанаСкрама) +// Канбан Скрама обязательно должен содержать в себе стадии с типом новая NEW и финальная FINISH. +// Используйте метод только для активных спринтов, то есть с полем "status": "active". +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.kanban.addStage](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/kanban/tasks-api-scrum-kanban-add-stage.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url - backlog +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей стадии - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция СоздатьСтадиюКанбанаСкрама(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.kanban.addStage"); + + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Обновить стадию канбана Скрама +// Обновляет стадию канбана Скрама по структуре полей (см. ПолучитьДоступныеПоляСтадииКанбанаСкрама) +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.kanban.updateStage](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/kanban/tasks-api-scrum-kanban-update-stage.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСтадии - Число,Строка - ID стадии - stage +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей стадии - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ОбновитьСтадиюКанбанаСкрама(Знач URL, Знач IDСтадии, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.kanban.updateStage"); + + OPI_Инструменты.ДобавитьПоле("stageId", IDСтадии , "Строка" , Параметры); + OPI_Инструменты.ДобавитьПоле("fields" , СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить стадии канбана спринта +// Получает стадии канбана по идентификатору спринта +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.kanban.getStages](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/kanban/tasks-api-scrum-kanban-get-stages.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСринта - Число,Строка - ID спринта - sprint +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +// tasks.api.scrum.kanban.getStages Получает стадии канбана по id спринта +Функция ПолучитьСтадииКанбанаСкрама(Знач URL, Знач IDСринта, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.kanban.getStages"); + + OPI_Инструменты.ДобавитьПоле("sprintId", IDСринта, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Удалить стадию канбана спринта +// Удаляет стадию канбана Скрама. Стадия не будет удалена, если в ней есть задачи +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.kanban.deleteStage](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/kanban/tasks-api-scrum-kanban-delete-stage.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСтадии - Число,Строка - ID стадии - stage +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция УдалитьСтадиюКанбанаСкрама(Знач URL, Знач IDСтадии, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.kanban.deleteStage"); + + OPI_Инструменты.ДобавитьПоле("stageId", IDСтадии, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Добавить задачу +// Добавляет задачу в стадию канбана Скрама +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.kanban.addTask](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/kanban/tasks-api-scrum-kanban-add-task.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСринта - Число,Строка - ID спринта - sprint +// IDЗадачи - Число,Строка - ID задачи - task +// IDСтадии - Число,Строка - ID задачи - stage +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +// tasks.api.scrum.kanban.addTask Добавляет задачу в канбан Скрама +Функция ДобавитьЗадачуВСтадиюКанбанаСкрама(Знач URL, Знач IDСринта, Знач IDЗадачи, Знач IDСтадии, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.kanban.addTask"); + + OPI_Инструменты.ДобавитьПоле("sprintId", IDСринта, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("taskId" , IDЗадачи, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("stageId" , IDСтадии, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Удалить задачу +// Удаляет задачу из канбана Скрама. Задача останется в спринте на странице планирования. Метод не перенесет задачу в бэклог. +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.kanban.deleteTask](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/kanban/tasks-api-scrum-kanban-delete-task.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСринта - Число,Строка - ID спринта - sprint +// IDЗадачи - Число,Строка - ID задачи - task +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция УдалитьЗадачуКанбанаСкрама(Знач URL, Знач IDСринта, Знач IDЗадачи, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.kanban.deleteTask"); + + OPI_Инструменты.ДобавитьПоле("sprintId", IDСринта, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("taskId" , IDЗадачи, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить список доступных полей +// Получает список доступных полей стадий канбана скрама +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.kanban.getFields](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/kanban/tasks-api-scrum-kanban-get-fields.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьДоступныеПоляСтадииКанбанаСкрама(Знач URL, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.kanban.getFields"); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +#КонецОбласти + +#Область Эпики + +// Добавить эпик +// Добавляет эпик в Скрам по структуре полей +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.epic.add](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/epic/tasks-api-scrum-epic-add.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей эпика (см. ПолучитьДоступныеПоляЭпика) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ДобавитьЭпикСкрама(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.epic.add"); + + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Обновить эпик +// Обновляет эпик в Скраме по структуре полей +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.epic.update](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/epic/tasks-api-scrum-epic-update.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDЭпика - Число,Строка - ID эпика - epic +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей эпика (см. ПолучитьДоступныеПоляЭпика) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ОбновитьЭпикСкрама(Знач URL, Знач IDЭпика, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.epic.update"); + + OPI_Инструменты.ДобавитьПоле("id" , IDЭпика , "Строка" , Параметры); + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// ПолучитьЭпик +// Получает значения полей эпика по его id +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.epic.get](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/epic/tasks-api-scrum-epic-get.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDЭпика - Число,Строка - ID эпика - epic +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьЭпикСкрама(Знач URL, Знач IDЭпика, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.epic.get"); + + OPI_Инструменты.ДобавитьПоле("id", IDЭпика, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить список эпиков +// Получает список эпиков (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраЭпиков) +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.epic.list](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/epic/tasks-api-scrum-epic-get.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// Фильтр - Структура из КлючИЗначение - Структура отбора эпиков (см. ПолучитьСтруктуруФильтраЭпиков) - filter +// Отступ - Число, Строка - Отступ от начала списка для полчения эпиков > 50 шт. рекурсивно - offset +// Поля - Строка, Массив Из Строка - Список полей эпиков в ответе. Все невычисляемые по умолчанию - select +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьСписокЭпиковСкрама(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Поля = "", Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.epic.list"); + + OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры); + OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры); + OPI_Инструменты.ДобавитьПоле("select", Поля , "Массив" , Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Удалить эпик +// Удаляет эпик +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.epic.delete](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/epic/tasks-api-scrum-epic-delete.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDЭпика - Число,Строка - ID эпика - epic +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей эпика (см. ПолучитьДоступныеПоляЭпика) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция УдалитьЭпикСкрама(Знач URL, Знач IDЭпика, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.epic.delete"); + + OPI_Инструменты.ДобавитьПоле("id", IDЭпика, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить список доступных полей +// Получает список доступных полей эпика +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.epic.getFields](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/epic/tasks-api-scrum-epic-get-fields.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьДоступныеПоляЭпика(Знач URL, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.epic.getFields"); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Возвращает структуру полей для фильтрации эпиков в методе ПолучитьСписокЭпиковСкрама +// +// Примечание: +// Возврат полей в качестве соответствия позволяет указывать тип фильтрации перед названием фильтруемого поля +// Типы фильтрации: !, <, <=, >, >=. Например: !ID:3 (т.е. ID не равно 3) +// +// Параметры: +// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty +// КакСоответствие - Булево - Истина > возвращает поля фильтра как соответствие - map +// +// Возвращаемое значение: +// Структура Из КлючИЗначение - Структура полей +Функция ПолучитьСтруктуруФильтраЭпиков(Знач Пустая = Ложь, Знач КакСоответствие = Ложь) Экспорт + + // Подробнее + // https://apidocs.bitrix24.ru/api-reference/tasks/tasks-task-list.html + + OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая); + OPI_ПреобразованиеТипов.ПолучитьБулево(КакСоответствие); + + Если КакСоответствие Тогда + СтруктураФильтра = Новый Соответствие; + Иначе + СтруктураФильтра = Новый Структура; + КонецЕсли; + + СтруктураФильтра.Вставить("ID" , "<идентификатор эпика>"); + СтруктураФильтра.Вставить("DECSCRIPTION" , "<описание эпика>"); + СтруктураФильтра.Вставить("GROUP_ID" , "<идентификатор рабочей группы скрама>"); + СтруктураФильтра.Вставить("COLOR" , "<цвет эпика>"); + СтруктураФильтра.Вставить("CREATED_BY" , "<кем создан>"); + СтруктураФильтра.Вставить("MODIFIED_BY" , "<кем изменен>"); + + Если Пустая Тогда + СтруктураФильтра = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураФильтра); + КонецЕсли; + + //@skip-check constructor-function-return-section + Возврат СтруктураФильтра; + +КонецФункции + +#КонецОбласти + +#Область Спринты + +// Добавить спринт +// Добавляет спринт в Скрам +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.add](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-add.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей эпика (см. ПолучитьДоступныеПоляСпринта) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ДобавитьСпринт(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.add"); + + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Обновить спринт +// Обновляет спринт в Скрам +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.update](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-update.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСпринта - Число,Строка - ID спринта - sprint +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей эпика (см. ПолучитьДоступныеПоляСпринта) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ОбновитьСпринт(Знач URL, Знач IDСпринта, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.update"); + + OPI_Инструменты.ДобавитьПоле("id" , IDСпринта , "Строка" , Параметры); + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Запустить спринт +// Запускает спринт в Скрам +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.start](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-start.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСпринта - Число,Строка - ID спринта - sprint +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ЗапуститьСпринт(Знач URL, Знач IDСпринта, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.start"); + + OPI_Инструменты.ДобавитьПоле("id", IDСпринта, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Завершить активный спринт +// Завершает активный спринт выбранного Скрама +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.complete](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-complete.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDГруппы - Число,Строка - ID рабочей группы скрама - group +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ЗавершитьАктивныйСпринт(Знач URL, Знач IDГруппы, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.complete"); + + OPI_Инструменты.ДобавитьПоле("id", IDГруппы, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить спринт +// Получает значения полей спринта по его id +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.get](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-get.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСпринта - Число,Строка - ID спринта - sprint +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьСпринт(Знач URL, Знач IDСпринта, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.get"); + + OPI_Инструменты.ДобавитьПоле("id", IDСпринта, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить список спринтов +// Получает список спринтов (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраСпринтов) +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.list](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-list.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// Фильтр - Структура из КлючИЗначение - Структура отбора эпиков (см. ПолучитьСтруктуруФильтраЭпиков) - filter +// Отступ - Число, Строка - Отступ от начала списка для полчения эпиков > 50 шт. рекурсивно - offset +// Поля - Строка, Массив Из Строка - Список полей эпиков в ответе. Все невычисляемые по умолчанию - select +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьСписокСпринтов(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Поля = "", Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.list"); + + OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры); + OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры); + OPI_Инструменты.ДобавитьПоле("select", Поля , "Массив" , Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Удалить спринт +// Удаляет спринт, если есть задачи, они будут перемещены в бэклог +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.delete](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-delete.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDСпринта - Число,Строка - ID спринта - sprint +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция УдалитьСпринт(Знач URL, Знач IDСпринта, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.delete"); + + OPI_Инструменты.ДобавитьПоле("id", IDСпринта, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить список доступных полей +// Получает список доступных полей спринта +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.sprint.getFields](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-get-fields.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьДоступныеПоляСпринта(Знач URL, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.sprint.getFields"); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Возвращает структуру полей для фильтрации спринтов в методе ПолучитьСписокСпринтов +// +// Примечание: +// Возврат полей в качестве соответствия позволяет указывать тип фильтрации перед названием фильтруемого поля +// Типы фильтрации: !, <, <=, >, >=. Например: !ID:3 (т.е. ID не равно 3) +// +// Параметры: +// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty +// КакСоответствие - Булево - Истина > возвращает поля фильтра как соответствие - map +// +// Возвращаемое значение: +// Структура Из КлючИЗначение - Структура полей +Функция ПолучитьСтруктуруФильтраСпринтов(Знач Пустая = Ложь, Знач КакСоответствие = Ложь) Экспорт + + // Подробнее + // https://apidocs.bitrix24.ru/api-reference/sonet-group/scrum/sprint/tasks-api-scrum-sprint-list.html + + OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая); + OPI_ПреобразованиеТипов.ПолучитьБулево(КакСоответствие); + + Если КакСоответствие Тогда + СтруктураФильтра = Новый Соответствие; + Иначе + СтруктураФильтра = Новый Структура; + КонецЕсли; + + СтруктураФильтра.Вставить("ID" , "<идентификатор спринта>"); + СтруктураФильтра.Вставить("GROUP_ID" , "<идентификатор рабочей группы скрама>"); + СтруктураФильтра.Вставить("NAME" , "<имя спринта>"); + СтруктураФильтра.Вставить("DATE_START" , "<дата старта>"); + СтруктураФильтра.Вставить("DATE_END" , "<дата окончания>"); + СтруктураФильтра.Вставить("STATUS" , "<статус спринта>"); + СтруктураФильтра.Вставить("CREATED_BY" , "<кем создан>"); + СтруктураФильтра.Вставить("MODIFIED_BY", "<кем изменен>"); + + Если Пустая Тогда + СтруктураФильтра = OPI_Инструменты.ОчиститьКоллекциюРекурсивно(СтруктураФильтра); + КонецЕсли; + + //@skip-check constructor-function-return-section + Возврат СтруктураФильтра; + +КонецФункции + +#КонецОбласти + +#Область ЗадачиСкрама + +// Добавить или обновить задачу +// Добавляет или обновляет задачу Скрама +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.task.update](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/task/tasks-api-scrum-task-update.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDЗадачи - Число,Строка - ID задачи - task +// СтруктураПолей - Структура Из КлючИЗначение - Структура полей эпика (см. ПолучитьДоступныеПоляЗадачиСкрама) - fields +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ДобавитьЗадачуВСкрам(Знач URL, Знач IDЗадачи, Знач СтруктураПолей, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.task.update"); + + OPI_Инструменты.ДобавитьПоле("id" , IDЗадачи , "Строка" , Параметры); + OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить значения полей +// Получает значения полей задачи Скрама по id +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.task.get](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/epic/tasks-api-scrum-epic-get.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// IDЗадачи - Число,Строка - ID задачи - task +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьЗадачуСкрама(Знач URL, Знач IDЗадачи, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.task.get"); + + OPI_Инструменты.ДобавитьПоле("id", IDЗадачи, "Строка", Параметры); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +// Получить список доступных полей +// Получает список доступных полей задачи скрама +// +// Примечание: +// Метод в документации API: [tasks.api.scrum.task.getFields](@apidocs.bitrix24.ru/api-reference/sonet-group/scrum/task/tasks-api-scrum-task-get-fields.html) +// +// Параметры: +// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url +// Токен - Строка - Токен авторизации, если используется не вебхук - token +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24 +Функция ПолучитьДоступныеПоляЗадачиСкрама(Знач URL, Знач Токен = "") Экспорт + + Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.api.scrum.task.getFields"); + + Ответ = OPI_ЗапросыHTTP.PostСТелом(URL, Параметры); + + Возврат Ответ; + +КонецФункции + +#КонецОбласти + +#КонецОбласти + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl index 905e3b5ca6..0b283f29c3 100644 --- a/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_ПолучениеДанныхТестов/Module.bsl @@ -1976,6 +1976,14 @@ КонецПроцедуры +Процедура Проверка_БитриксСтатусДанных(Знач Результат) Экспорт + + ОжидаетЧто(Результат["status"]).ИмеетТип("Строка"); + ОжидаетЧто(Результат["data"]).ИмеетТип("Булево"); + ОжидаетЧто(Результат["error"]).ИмеетТип("Массив"); + +КонецПроцедуры + Процедура Проверка_ВКТПользователь(Знач Результат) Экспорт ОжидаетЧто(Результат["ok"]).Равно(Истина); diff --git a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl index 88ea1b9c1e..58aa6fe7b4 100644 --- a/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl +++ b/src/ru/OPI/src/CommonModules/OPI_Тесты/Module.bsl @@ -1838,6 +1838,52 @@ КонецПроцедуры +Процедура Б24_РаботаСоСкрамом() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста); + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста); + + Bitrix24_ДобавитьСпринт(ПараметрыТеста); + Bitrix24_ОбновитьСпринт(ПараметрыТеста); + Bitrix24_ЗапуститьСпринт(ПараметрыТеста); + Bitrix24_ПолучитьСпринт(ПараметрыТеста); + Bitrix24_ЗавершитьАктивныйСпринт(ПараметрыТеста); + Bitrix24_ПолучитьСписокСпринтов(ПараметрыТеста); + Bitrix24_УдалитьСпринт(ПараметрыТеста); + Bitrix24_ПолучитьДоступныеПоляСпринта(ПараметрыТеста); + Bitrix24_ПолучитьСтруктуруФильтраСпринтов(ПараметрыТеста); + + Bitrix24_ДобавитьБэклогВСкрам(ПараметрыТеста); + Bitrix24_ОбновитьБэклог(ПараметрыТеста); + Bitrix24_ПолучитьЗначениеПолейБэклога(ПараметрыТеста); + Bitrix24_УдалитьБэклог(ПараметрыТеста); + Bitrix24_ПолучитьДоступныеПоляБэклога(ПараметрыТеста); + + Bitrix24_СоздатьСтадиюКанбанаСкрама(ПараметрыТеста); + Bitrix24_ОбновитьСтадиюКанбанаСкрама(ПараметрыТеста); + Bitrix24_ПолучитьСтадииКанбанаСкрама(ПараметрыТеста); + Bitrix24_УдалитьСтадиюКанбанаСкрама(ПараметрыТеста); + + Bitrix24_ДобавитьЗадачуВСтадиюКанбанаСкрама(ПараметрыТеста); + Bitrix24_УдалитьЗадачуКанбанаСкрама(ПараметрыТеста); + Bitrix24_ПолучитьДоступныеПоляСтадииКанбанаСкрама(ПараметрыТеста); + + Bitrix24_ДобавитьЭпикСкрама(ПараметрыТеста); + Bitrix24_ОбновитьЭпикСкрама(ПараметрыТеста); + Bitrix24_ПолучитьЭпикСкрама(ПараметрыТеста); + Bitrix24_ПолучитьСписокЭпиковСкрама(ПараметрыТеста); + Bitrix24_УдалитьЭпикСкрама(ПараметрыТеста); + Bitrix24_ПолучитьДоступныеПоляЭпика(ПараметрыТеста); + Bitrix24_ПолучитьСтруктуруФильтраЭпиков(ПараметрыТеста); + + Bitrix24_ДобавитьЗадачуВСкрам(ПараметрыТеста); + Bitrix24_ПолучитьЗадачуСкрама(ПараметрыТеста); + Bitrix24_ПолучитьДоступныеПоляЗадачиСкрама(ПараметрыТеста); + +КонецПроцедуры + #КонецОбласти #Область VkTeams @@ -13461,6 +13507,900 @@ КонецПроцедуры +Процедура Bitrix24_ДобавитьСпринт(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDГруппы = 1; + + ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); + Час = 3600; + Сутки = 24; + Неделя = 7 * Сутки * Час; + + СтруктураСпринта = Новый Структура; + СтруктураСпринта.Вставить("GROUP_ID" , IDГруппы); + СтруктураСпринта.Вставить("NAME" , "Новый актинвый спринт"); + СтруктураСпринта.Вставить("DATE_START", ТекущаяДата - Неделя); + СтруктураСпринта.Вставить("DATE_END" , ТекущаяДата + Неделя); + СтруктураСпринта.Вставить("STATUS" , "planned"); + + Результат = OPI_Bitrix24.ДобавитьСпринт(URL, СтруктураСпринта); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСпринт (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + IDСпринта = Результат["result"]["id"]; // SKIP + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookSprintID", IDСпринта); // SKIP + ПараметрыФункции.Вставить("Bitrix24_HookSprintID", IDСпринта); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDГруппы = 1; + + СтруктураСпринта.Вставить("GROUP_ID", IDГруппы); + СтруктураСпринта.Вставить("NAME" , "Новый запланированный спринт"); + СтруктураСпринта.Вставить("STATUS" , "planned"); + + Результат = OPI_Bitrix24.ДобавитьСпринт(URL, СтруктураСпринта, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьСпринт", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + + IDСпринта = Результат["result"]["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_SprintID", IDСпринта); + ПараметрыФункции.Вставить("Bitrix24_SprintID", IDСпринта); + +КонецПроцедуры + +Процедура Bitrix24_ОбновитьСпринт(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); + Час = 3600; + Сутки = 24; + Неделя = 7 * Сутки * Час; + + СтруктураСпринта = Новый Структура; + СтруктураСпринта.Вставить("ID" , IDСпринта); + СтруктураСпринта.Вставить("NAME" , "Новый продлённый актинвый спринт"); + СтруктураСпринта.Вставить("DATE_END", ТекущаяДата + 2 * Неделя); + + Результат = OPI_Bitrix24.ОбновитьСпринт(URL, IDСпринта, СтруктураСпринта); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьСпринт (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + + СтруктураСпринта.Вставить("ID" , IDСпринта); + СтруктураСпринта.Вставить("NAME" , "Новый запланированный спринт c датой начала"); + СтруктураСпринта.Вставить("DATE_START", ТекущаяДата + 2 * Неделя); + + Результат = OPI_Bitrix24.ОбновитьСпринт(URL, IDСпринта, СтруктураСпринта, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьСпринт", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ЗапуститьСпринт(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + Результат = OPI_Bitrix24.ЗапуститьСпринт(URL, IDСпринта); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗапуститьСпринт (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + + Результат = OPI_Bitrix24.ЗапуститьСпринт(URL, IDСпринта, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗапуститьСпринт", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ЗавершитьАктивныйСпринт(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDГруппы = 1; + + Результат = OPI_Bitrix24.ЗавершитьАктивныйСпринт(URL, IDГруппы); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьАктивныйСпринт (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDГруппы = 1; + + Результат = OPI_Bitrix24.ЗавершитьАктивныйСпринт(URL, IDГруппы, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗавершитьАктивныйСпринт", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьСпринт(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + Результат = OPI_Bitrix24.ПолучитьСпринт(URL, IDСпринта); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСпринт (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + + Результат = OPI_Bitrix24.ПолучитьСпринт(URL, IDСпринта, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСпринт", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьСписокСпринтов(ПараметрыФункции) + + ТекущаяДата = OPI_Инструменты.ПолучитьТекущуюДату(); + + // Полную структуру фильтра можно найти в функции ПолучитьСтруктуруФильтраСпринтов + Фильтр = Новый Соответствие; + Фильтр.Вставить("CREATED_BY", 1); // Постановщик с ID 1 + Фильтр.Вставить(">=DATE_START ", ТекущаяДата); // Дата создания >= вчера + + Поля = Новый Массив; + Поля.Добавить("NAME"); + Поля.Добавить("STATUS"); + Поля.Добавить("CREATED_BY"); + + Отступ = 1; + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ПолучитьСписокСпринтов(URL, Фильтр, , Поля); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСпринтов (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксМассивОбъектов(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ПолучитьСписокСпринтов(URL, , Отступ, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокСпринтов", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксМассивОбъектов(Результат); + +КонецПроцедуры + +Процедура Bitrix24_УдалитьСпринт(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + Результат = OPI_Bitrix24.УдалитьСпринт(URL, IDСпринта); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСпринт (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксМассив(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + + Результат = OPI_Bitrix24.УдалитьСпринт(URL, IDСпринта, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСпринт", "Bitrix24"); + + OPI_ПолучениеДанныхТестов.Проверка_БитриксМассив(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьДоступныеПоляСпринта(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляСпринта(URL); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляСпринта (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксПоля(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляСпринта(URL, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляСпринта", "Bitrix24"); + + OPI_ПолучениеДанныхТестов.Проверка_БитриксПоля(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьСтруктуруФильтраСпринтов(ПараметрыФункции) + + Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраСпринтов(); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраСпринтов", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат); + + Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраСпринтов(Истина); + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраСпринтов (пустая)", "Bitrix24"); + + Для Каждого Элемент Из Результат Цикл + + Если OPI_Инструменты.ЭтоПримитивныйТип(Элемент.Значение) Тогда + OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +Процедура Bitrix24_ДобавитьБэклогВСкрам(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDГруппы = 1; + + СтруктураБэклога = Новый Структура; + СтруктураБэклога.Вставить("GROUP_ID" , IDГруппы); + СтруктураБэклога.Вставить("CREATED_BY" , 1); + СтруктураБэклога.Вставить("MODIFIED_BY", 1); + + Результат = OPI_Bitrix24.ДобавитьБэклогВСкрам(URL, СтруктураБэклога); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьБэклогВСкрам (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + IDБэклога = Результат["result"]["id"]; // SKIP + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookBacklogID", IDБэклога); // SKIP + ПараметрыФункции.Вставить("Bitrix24_HookBacklogID", IDБэклога); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDГруппы = 1; + + СтруктураБэклога.Вставить("GROUP_ID", IDГруппы); + + Результат = OPI_Bitrix24.ДобавитьБэклогВСкрам(URL, СтруктураБэклога, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьБэклогВСкрам", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + + IDБэклога = Результат["result"]["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_BacklogID", IDБэклога); + ПараметрыФункции.Вставить("Bitrix24_BacklogID", IDБэклога); + +КонецПроцедуры + +Процедура Bitrix24_ОбновитьБэклог(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDБэклога = ПараметрыФункции["Bitrix24_HookBacklogID"]; + IDГруппы = 1; + + СтруктураБэклога = Новый Структура; + СтруктураБэклога.Вставить("GROUP_ID" , IDГруппы); + СтруктураБэклога.Вставить("CREATED_BY" , 1); + СтруктураБэклога.Вставить("MODIFIED_BY", 1); + + Результат = OPI_Bitrix24.ОбновитьБэклог(URL, IDСпринта, СтруктураБэклога); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьБэклог (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDБэклога = ПараметрыФункции["Bitrix24_BacklogID"]; + IDГруппы = 1; + + СтруктураБэклога.Вставить("GROUP_ID", IDГруппы); + + Результат = OPI_Bitrix24.ОбновитьБэклог(URL, IDСпринта, СтруктураБэклога, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьБэклог", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьЗначениеПолейБэклога(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDГруппы = ПараметрыФункции["Bitrix24_HookGroupID"]; + + Результат = OPI_Bitrix24.ПолучитьЗначениеПолейБэклога(URL, IDГруппы); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначениеПолейБэклога (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксРезультат(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDГруппы = ПараметрыФункции["Bitrix24_GroupID"]; + + Результат = OPI_Bitrix24.ПолучитьЗначениеПолейБэклога(URL, IDГруппы, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗначениеПолейБэклога", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксРезультат(Результат); + +КонецПроцедуры + +Процедура Bitrix24_УдалитьБэклог(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDБэклога = ПараметрыФункции["Bitrix24_HookBacklogID"]; + + Результат = OPI_Bitrix24.УдалитьБэклог(URL, IDБэклога); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБэклог (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDБэклога = ПараметрыФункции["Bitrix24_BacklogID"]; + + Результат = OPI_Bitrix24.УдалитьБэклог(URL, IDБэклога, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьБэклог", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьДоступныеПоляБэклога(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляБэклога(URL); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляБэклога (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксПоля(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляБэклога(URL, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляБэклога", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксПоля(Результат); + +КонецПроцедуры + +Процедура Bitrix24_СоздатьСтадиюКанбанаСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + СтруктураСтадии = Новый Структура; + СтруктураСтадии.Вставить("SPRINT_ID", IDСпринта); + СтруктураСтадии.Вставить("NAME" , "Первая стадия"); + СтруктураСтадии.Вставить("TYPE" , "NEW"); + СтруктураСтадии.Вставить("SORT" , 100); + СтруктураСтадии.Вставить("COLOR" , "FF6A00"); + + Результат = OPI_Bitrix24.СоздатьСтадиюКанбанаСкрама(URL, СтруктураСтадии); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтадиюКанбанаСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат); // SKIP + + IDСтадии = Результат["result"]; // SKIP + + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookStageID", IDСтадии); // SKIP + ПараметрыФункции.Вставить("Bitrix24_HookStageID", IDСтадии); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + + СтруктураСтадии.Вставить("SPRINT_ID", IDСпринта); + СтруктураСтадии.Вставить("NAME" , "Вторая стадия"); + СтруктураСтадии.Вставить("TYPE" , "WORK"); + СтруктураСтадии.Вставить("SORT" , 50); + СтруктураСтадии.Вставить("COLOR" , "FFD800"); + + Результат = OPI_Bitrix24.СоздатьСтадиюКанбанаСкрама(URL, СтруктураСтадии, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьСтадиюКанбанаСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксЧисло(Результат); + + IDСтадии = Результат["result"]; + + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_StageID", IDСтадии); + ПараметрыФункции.Вставить("Bitrix24_StageID", IDСтадии); + +КонецПроцедуры + +Процедура Bitrix24_ОбновитьСтадиюКанбанаСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСтадии = ПараметрыФункции["Bitrix24_HookStageID"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + СтруктураСтадии = Новый Структура; + СтруктураСтадии.Вставить("SPRINT_ID", IDСпринта); + СтруктураСтадии.Вставить("NAME" , "Первая стадия"); + СтруктураСтадии.Вставить("TYPE" , "NEW"); + СтруктураСтадии.Вставить("SORT" , 90); + СтруктураСтадии.Вставить("COLOR" , "FF6A00"); + + Результат = OPI_Bitrix24.ОбновитьСтадиюКанбанаСкрама(URL, IDСтадии, СтруктураСтадии); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьСтадиюКанбанаСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксБулево(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСтадии = ПараметрыФункции["Bitrix24_StageID"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + + СтруктураСтадии.Вставить("SPRINT_ID", IDСпринта); + СтруктураСтадии.Вставить("NAME" , "Вторая стадия"); + СтруктураСтадии.Вставить("TYPE" , "WORK"); + СтруктураСтадии.Вставить("SORT" , 40); + СтруктураСтадии.Вставить("COLOR" , "FFD800"); + + Результат = OPI_Bitrix24.ОбновитьСтадиюКанбанаСкрама(URL, IDСтадии, СтруктураСтадии, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьСтадиюКанбанаСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксБулево(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьСтадииКанбанаСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + Результат = OPI_Bitrix24.ПолучитьСтадииКанбанаСкрама(URL, IDСринта); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтадииКанбанаСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксРезультат(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСринта = ПараметрыФункции["Bitrix24_SprintID"]; + + Результат = OPI_Bitrix24.ПолучитьСтадииКанбанаСкрама(URL, IDСринта, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтадииКанбанаСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксРезультат(Результат); + +КонецПроцедуры + +Процедура Bitrix24_УдалитьСтадиюКанбанаСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСтадии = ПараметрыФункции["Bitrix24_HookStageID"]; + + Результат = OPI_Bitrix24.УдалитьСтадиюКанбанаСкрама(URL, IDСтадии); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбанаСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСтадии = ПараметрыФункции["Bitrix24_StageID"]; + + Результат = OPI_Bitrix24.УдалитьСтадиюКанбанаСкрама(URL, IDСтадии, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьСтадиюКанбанаСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ДобавитьЗадачуВСтадиюКанбанаСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"]; + IDСтадии = ПараметрыФункции["Bitrix24_HookStageID"]; + + Результат = OPI_Bitrix24.ДобавитьЗадачуВСтадиюКанбанаСкрама(URL, IDСринта, IDЗадачи, IDСтадии); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗадачуВСтадиюКанбанаСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксБулево(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + IDЗадачи = ПараметрыФункции["Bitrix24_TaskID"]; + IDСтадии = ПараметрыФункции["Bitrix24_StageID"]; + + Результат = OPI_Bitrix24.ДобавитьЗадачуВСтадиюКанбанаСкрама(URL, IDСринта, IDЗадачи, IDСтадии, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗадачуВСтадиюКанбанаСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксБулево(Результат); + +КонецПроцедуры + +Процедура Bitrix24_УдалитьЗадачуКанбанаСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"]; + + Результат = OPI_Bitrix24.УдалитьЗадачуКанбанаСкрама(URL, IDСпринта, IDЗадачи); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗадачуКанбанаСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDСпринта = ПараметрыФункции["Bitrix24_SprintID"]; + IDЗадачи = ПараметрыФункции["Bitrix24_TaskID"]; + + Результат = OPI_Bitrix24.УдалитьЗадачуКанбанаСкрама(URL, IDСпринта, IDЗадачи, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЗадачуКанбанаСкрама", "Bitrix24"); + + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьДоступныеПоляСтадииКанбанаСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляСтадииКанбанаСкрама(URL); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляСтадииКанбанаСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляСтадииКанбанаСкрама(URL, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляСтадииКанбанаСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ДобавитьЭпикСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDГруппы = 1; + IDПользователя = 1; + + ИдентификаторыФайлов = Новый Массив; + ИдентификаторыФайлов.Добавить("n428"); + ИдентификаторыФайлов.Добавить("n345"); + + СтруктураЭпика = Новый Структура; + СтруктураЭпика.Вставить("NAME" , "Новый эпик"); + СтруктураЭпика.Вставить("DESCRIPTION", "Описание нового эпика"); + СтруктураЭпика.Вставить("GROUP_ID" , IDГруппы); + СтруктураЭпика.Вставить("COLOR" , "FF6A00"); + СтруктураЭпика.Вставить("FILES" , ИдентификаторыФайлов); + СтруктураЭпика.Вставить("CREATED_BY" , IDПользователя); + СтруктураЭпика.Вставить("MODIFIED_BY", IDПользователя); + + Результат = OPI_Bitrix24.ДобавитьЭпикСкрама(URL, СтруктураЭпика); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЭпикСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + IDЭпика = Результат["result"]["id"]; // SKIP + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookEpicID", IDЭпика); // SKIP + ПараметрыФункции.Вставить("Bitrix24_HookEpicID", IDЭпика); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDГруппы = 1; + IDПользователя = 1; + + СтруктураЭпика.Вставить("NAME" , "Еще один новый эпик"); + СтруктураЭпика.Вставить("DESCRIPTION", "Описание еще одного нового эпика"); + СтруктураЭпика.Вставить("GROUP_ID" , IDГруппы); + СтруктураЭпика.Вставить("COLOR" , "FFD800"); + СтруктураЭпика.Вставить("FILES" , ИдентификаторыФайлов); + СтруктураЭпика.Вставить("CREATED_BY" , IDПользователя); + СтруктураЭпика.Вставить("MODIFIED_BY", IDПользователя); + + Результат = OPI_Bitrix24.ДобавитьЭпикСкрама(URL, СтруктураЭпика, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЭпикСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + + IDЭпика = Результат["result"]["id"]; + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_EpicID", IDЭпика); + ПараметрыФункции.Вставить("Bitrix24_EpicID", IDЭпика); + +КонецПроцедуры + +Процедура Bitrix24_ОбновитьЭпикСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDЭпика = ПараметрыФункции["Bitrix24_HookEpicID"]; + IDГруппы = 1; + IDПользователя = 1; + + ИдентификаторыФайлов = Новый Массив; + + СтруктураЭпика = Новый Структура; + СтруктураЭпика.Вставить("NAME" , "Новый эпик 1"); + СтруктураЭпика.Вставить("DESCRIPTION", "Обновленное описание нового эпика"); + СтруктураЭпика.Вставить("GROUP_ID" , IDГруппы); + СтруктураЭпика.Вставить("COLOR" , "FF6A11"); + СтруктураЭпика.Вставить("FILES" , ИдентификаторыФайлов); + СтруктураЭпика.Вставить("CREATED_BY" , IDПользователя); + СтруктураЭпика.Вставить("MODIFIED_BY", IDПользователя); + + Результат = OPI_Bitrix24.ОбновитьЭпикСкрама(URL, IDЭпика, СтруктураЭпика); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЭпикСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDЭпика = ПараметрыФункции["Bitrix24_EpicID"]; + IDГруппы = 1; + IDПользователя = 1; + + СтруктураЭпика.Вставить("NAME" , "Еще один новый эпик 1"); + СтруктураЭпика.Вставить("GROUP_ID" , IDГруппы); + + Результат = OPI_Bitrix24.ОбновитьЭпикСкрама(URL, IDЭпика, СтруктураЭпика, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОбновитьЭпикСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьЭпикСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDЭпика = ПараметрыФункции["Bitrix24_HookEpicID"]; + + Результат = OPI_Bitrix24.ПолучитьЭпикСкрама(URL, IDЭпика); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЭпикСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксРезультат(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDЭпика = ПараметрыФункции["Bitrix24_EpicID"]; + + Результат = OPI_Bitrix24.ПолучитьЭпикСкрама(URL, IDЭпика, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЭпикСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксРезультат(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьСписокЭпиковСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + Отступ = 1; + + // Полную структуру фильтра можно найти в функции ПолучитьСтруктуруФильтраСпринтов + Фильтр = Новый Соответствие; + Фильтр.Вставить("GROUP_ID", 1); + Фильтр.Вставить("CREATED_BY", 1); + + Поля = Новый Массив; + Поля.Добавить("ID"); + Поля.Добавить("NAME"); + Поля.Добавить("DECSCRIPTION"); + + Результат = OPI_Bitrix24.ПолучитьСписокЭпиковСкрама(URL, Фильтр, , Поля); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЭпиковСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксМассивОбъектов(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ПолучитьСписокЭпиковСкрама(URL, , Отступ, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЭпиковСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксМассивОбъектов(Результат); + +КонецПроцедуры + +Процедура Bitrix24_УдалитьЭпикСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDЭпика = ПараметрыФункции["Bitrix24_HookEpicID"]; + + Результат = OPI_Bitrix24.УдалитьЭпикСкрама(URL, IDЭпика); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЭпикСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDЭпика = ПараметрыФункции["Bitrix24_EpicID"]; + + Результат = OPI_Bitrix24.УдалитьЭпикСкрама(URL, IDЭпика, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЭпикСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксЗадача(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьДоступныеПоляЭпика(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляЭпика(URL); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляЭпика (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляЭпика(URL, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляЭпика", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьСтруктуруФильтраЭпиков(ПараметрыФункции) + + Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраЭпиков(); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЭпиков", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_Структура(Результат); + + Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраЭпиков(Истина); + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЭпиков (пустая)", "Bitrix24"); + + Для Каждого Элемент Из Результат Цикл + + Если OPI_Инструменты.ЭтоПримитивныйТип(Элемент.Значение) Тогда + OPI_ПолучениеДанныхТестов.Проверка_Пусто(Элемент.Значение); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +Процедура Bitrix24_ДобавитьЗадачуВСкрам(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"]; + IDЭпика = ПараметрыФункции["Bitrix24_HookEpicID"]; + IDСпринта = ПараметрыФункции["Bitrix24_HookSprintID"]; + + СтруктураЗадачи = Новый Структура; + СтруктураЗадачи.Вставить("ENTITY_ID", IDСпринта); + СтруктураЗадачи.Вставить("STORY_POINTS", 15); + СтруктураЗадачи.Вставить("EPIC_ID", IDЭпика); + СтруктураЗадачи.Вставить("SORT", 50); + + Результат = OPI_Bitrix24.ДобавитьЗадачуВСкрам(URL, IDЗадачи, СтруктураЗадачи); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗадачуВСкрам (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксСтатусДанных(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDЗадачи = ПараметрыФункции["Bitrix24_TaskID"]; + IDЭпика = ПараметрыФункции["Bitrix24_EpicID"]; + IDБэклога = ПараметрыФункции["Bitrix24_BacklogID"]; + + СтруктураЗадачи.Вставить("ENTITY_ID", IDБэклога); + СтруктураЗадачи.Вставить("STORY_POINTS", 5); + СтруктураЗадачи.Вставить("EPIC_ID", IDЭпика); + СтруктураЗадачи.Вставить("SORT", 25); + + Результат = OPI_Bitrix24.ДобавитьЗадачуВСкрам(URL, IDЗадачи, СтруктураЗадачи); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ДобавитьЗадачуВСкрам", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксСтатусДанных(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьЗадачуСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"]; + + Результат = OPI_Bitrix24.ПолучитьЗадачуСкрама(URL, IDЗадачи); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗадачуСкрама (хук)", "Bitrix24"); // SKIP + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + IDЗадачи = ПараметрыФункции["Bitrix24_TaskID"]; + + Результат = OPI_Bitrix24.ПолучитьЗадачуСкрама(URL, IDЗадачи, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЗадачуСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксОбъект(Результат); + +КонецПроцедуры + +Процедура Bitrix24_ПолучитьДоступныеПоляЗадачиСкрама(ПараметрыФункции) + + URL = ПараметрыФункции["Bitrix24_URL"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляЗадачиСкрама(URL); + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляЗадачиСкрама (хук)", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксПоля(Результат); // SKIP + + URL = ПараметрыФункции["Bitrix24_Domain"]; + Токен = ПараметрыФункции["Bitrix24_Token"]; + + Результат = OPI_Bitrix24.ПолучитьДоступныеПоляЗадачиСкрама(URL, Токен); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДоступныеПоляЗадачиСкрама", "Bitrix24"); + OPI_ПолучениеДанныхТестов.Проверка_БитриксПоля(Результат); + +КонецПроцедуры + #КонецОбласти #Область VKTeams