Изменения документа VKPHT. Релиз нота R4 (24Q1)

Редактировал(а) Александра Баруткина 2024/06/27 13:20

От версии 3.1
отредактировано Александра Баруткина
на 2024/03/21 14:24
Изменить комментарий: К данной версии нет комментариев
К версии 7.1
отредактировано Александра Баруткина
на 2024/05/28 08:55
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,0 +1,417 @@
1 += ADM. Управление правами доступа =
2 +
3 +В этом релизе мы выпускаем модуль "Управление правами доступа" и на данном этапе мы умеем защищать представления, методы работы с таблицами реализованными через Hateoas (все справочники в Админ.Панели), исполняемые методы (вариант 2) - возможность их запустить или нет, и исполняемые методы с указанием допустимых значений (вариант 3).
4 +
5 +Мы выпустили базовые роли на полный доступ в систему, сейчас каждый пользователь в системе на стенде DEV, состоит в этой групповой роли и получает доступы через коннектор "Управление правами доступа", а также начали настраивать роли для сервисов системы, реализовано на примере Оргструктуры.
6 +
7 +Благодаря "Управление правами доступа" мы можем настроить множество ролей и групп, которые будут давать доступ разным пользователям согласно их полномочий.
8 +
9 +Мы предоставляем, как полный доступ к представлениям и методам, так и даём разрешения для части объекта, при использовании разрезов доступа.
10 +
11 +Разрез можем формировать по значению атрибута, непосредственно в системе, по значению ключевого слова в KeyCloack и по значению ключевого слова, которые собираются через настраиваемую job процедуру и содержит все доступные каждому пользователю значения доступа для заранее настроенного разреза.
12 +
13 +Защита методов позволяет давать разрешения отдельно на чтение и отдельно на запись (создание/изменение/удаление).
14 +
15 +Всё это позволяет максимально гибко настроить систему и через Административные панели системы выстраивать матрицу ролей и их полномочия.
16 +
17 +(% class="table-bordered" %)
18 +|**Тема**|**Описание **|**Задача RM**
19 +|Реализация экранных форм с помощью административных панелей - "Управление правами доступа"|(((
20 +* Реализована модель данных
21 +* Реализованы "Управление объектами доступа"
22 +* Реализованы "Управление ключевыми словами"
23 +* Реализованы "Управление наборами значений для атрибутов доступа"
24 +* Реализованы "Управление полномочиями по ролям"
25 +)))|(((
26 +[[https:~~/~~/redmine.goodt.me/issues/102161>>url:https://redmine.goodt.me/issues/102161]]
27 +
28 +СУР_МЕТОДЫ/HATEOAS Админ. панели. Сборка прототипа
29 +)))
30 +|Перевод коннектора на работу через "Управление правами доступа"|(((
31 +* Реализованы доступы к объектам
32 +* Реализованы типы сущностей: dataset
33 +* Реализована защита доступов к представлениям
34 +)))|(((
35 +[[https:~~/~~/redmine.goodt.me/issues/101505>>url:https://redmine.goodt.me/issues/101505]]
36 +
37 +СУР_КОННЕКТОР/Переключение на работу dataset через коннектор СУР
38 +)))
39 +|Реализована защита методов через "Управление правами доступа"|(((
40 +* Реализованы типы сущностей: business
41 +* Реализована защита доступов к методам HATEOAS и к bff-методам
42 +)))|(((
43 +[[https:~~/~~/redmine.goodt.me/issues/102160>>url:https://redmine.goodt.me/issues/102160]]
44 +
45 +СУР_МЕТОДЫ/Защита методов по варианту 2 (BFF методы)
46 +
47 +[[https:~~/~~/redmine.goodt.me/issues/102160>>url:https://redmine.goodt.me/issues/102160]]
48 +
49 +СУР_МЕТОДЫ/Защита методов по варианту 1 (HATEOAS)
50 +)))
51 +|Выполнена настройка базовых ролей системы VKPHT|(((
52 +* Произведена первичная регистрация всех представлений
53 +* Настроены первичные роли all_r и all_w
54 +* Всем пользователям назначены проектные роли или предоставлены полные доступы в систему VKPHT
55 +)))|(((
56 +[[https:~~/~~/redmine.goodt.me/issues/108563>>url:https://redmine.goodt.me/issues/108563]]
57 +
58 +Заполнить Permission для всех сервисов
59 +)))
60 +|Реализация функции keywords, основанных на автоматической регистрации значений|(((
61 +* Реализованы keywords c типом token
62 +* Реализованы keywords c типом value
63 +)))|(((
64 +[[https:~~/~~/redmine.goodt.me/issues/92596>>url:https://redmine.goodt.me/issues/92596]]
65 +
66 +[СУР] Реализация функции keywords
67 +)))
68 +|Документация "ADM.Управление правами доступа"|(((
69 +* Выпущена первая версия эксплуатационной документации "ADM.Управление правами доступа"
70 +)))|(((
71 +[[https:~~/~~/redmine.goodt.me/issues/115679>>url:https://redmine.goodt.me/issues/115679]]
72 +
73 +ADM. Документация R4 (Q1)
74 +)))
75 +
76 += AWA. Управление нотификациями =
77 +
78 +(% class="table-bordered" style="width:1109px" %)
79 +|**Тема**|**Описание **|**Задача RM**
80 +| | |(% style="width:252px" %)
81 +|(((
82 +Добавление возможности просмотра почт получателей у выбранных подразделений.
83 +)))|Добавлена возможность просмотра почт у выбранных подразделений: при нажатии на кнопку "Список адресов" открывается попап "Список адресатов" с перечнем почт сотрудников подразделения, которым отправится уведомление.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101679>>url:https://redmine.goodt.me/issues/101679]]
84 +|Отредактированы данные таблиц бд notification на стенде [[https:~~/~~/vkpht-dev.goodt.me>>url:https://vkpht-dev.goodt.me/editor/#/apps]] для миграции.|Отредактированы данные таблиц бд notification на стенде [[https:~~/~~/vkpht-dev.goodt.me>>url:https://vkpht-dev.goodt.me/editor/#/apps]] для миграции:
85 +удалены тестовые и закрытые записи, проставлены признаки у системных записей (is_system=true).|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/114431>>url:https://redmine.goodt.me/issues/114431]]
86 +|Добавление поля is_system|Добавлено поле is_system c типом данных bool (true/false), со значением по умолчанию false в таблицы бд notification.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/114424>>url:https://redmine.goodt.me/issues/114424]]
87 +|Добавление пагинации|Добавлен на страницу выбора получателей инструмента управления количеством отображаемых записей - Пагинация.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101674>>url:https://redmine.goodt.me/issues/101674]]
88 +|Добавление всплывающего сообщения при успешном создании события|Добавили всплывающее сообщение при успешном создании события в реестрах "Уведомления о событиях" и "Ручные рассылки".
89 +Текстовка: "Событие "Код события" "Название события" создано".
90 +В сообщении присутствует гиперссылка, при нажатии на которую, происходит переход к созданному событию (автоматически устанавливается фильтр в код события): при нажатии на текст/кнопку записывается в хранилище переменная(которую слушают таблица и фильтр) и закрывается попап.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/108113>>url:https://redmine.goodt.me/issues/108113]]
91 +|Попап добавления получателей|Вывели в табличном представлении (попап добавления получателей) табельный номер сотрудника. По атрибуту доступна фильтрация и поиск.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101676>>url:https://redmine.goodt.me/issues/101676]]
92 +|Вывод полного списка получателей в отдельном попапе|Реализован вывод полного списка получателей в отдельном попапе, а не в табличном представлении. Исправлено на странице Уведомления о событиях и Ручные рассылки.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101681>>url:https://redmine.goodt.me/issues/101681]]
93 +|Добавление кнопки "Удалить всех"|(((
94 +В карточках "Добавить шаблон" и "Редактировать шаблон" реестров "Уведомления о событиях" и "Ручные рассылки" добавили кнопку "Удалить всех", при нажатии на которую удаляются все выбранные получатели.
95 +)))|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101661>>url:https://redmine.goodt.me/issues/101661]]
96 +|Доработка виджета ElemCreateNitificationEvent|(((
97 +Доработка виджета ElemCreateNitificationEvent: кнопка "Отправить уведомления". Кнопка неактивна для событий, у которых не создан ни один шаблон уведомления.
98 +)))|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/96705>>url:https://redmine.goodt.me/issues/96705]]
99 +
100 += BPS. Управление фоновыми программам =
101 +
102 +(% class="table-bordered" style="width:1109px" %)
103 +|**Тема**|**Описание **|**Задача RM**
104 +|Реализация фоновой программы TASKS_REASSIGNMENT.|Реализация фоновой программы TASKS_REASSIGNMENT. Фоновая программа переноса задач, в случаях, когда у сотрудника появляется новое назначение и имеется закрытое старое назначение|[[https:~~/~~/redmine.goodt.me/issues/106128>>url:https://redmine.goodt.me/issues/106128]]
105 +
106 += CFG. Управление конфигурацией =
107 +
108 +(% class="table-bordered" %)
109 +|**Тема**|**Описание **|**Задача RM**
110 +|Доработка модели данных для учета системных записей и возможности управления их доступностью для редактирования при настройке системы на проекте.|(((
111 +* Структура таблиц обновлена с учетом признаков is_system и is_editable
112 +* Изменения учтены в работе HATEOAS методов для таблиц
113 +)))|(((
114 +[[https:~~/~~/redmine.goodt.me/issues/110241>>url:https://redmine.goodt.me/issues/110241]]
115 +
116 +Актуализация модели данных с учетом признаков is_system и is_editable
117 +)))
118 +
119 += INT. Управление интеграцией =
120 +
121 +INT0 Общие требования
122 +
123 +(% class="table-bordered" %)
124 +|**Тема**|**Описание **|**Задача RM**
125 +|Создание сервиса и БД интеграции
126 +Создание структур данных|(((
127 +* Создан сервис и БД интеграции.
128 +* Созданы структуры данных.
129 +* Предзаполнены таблицы в БД.
130 +* Развернут  SFTP сервер.
131 +
132 +
133 +)))|(((
134 +[[https:~~/~~/redmine.goodt.me/issues/100207>>url:https://redmine.goodt.me/issues/100207]]
135 +
136 +API_ИП/1 Разработка механизма хранения информации по интеграции
137 +)))
138 +|Реализация метода разбора данных из файла в БД интеграции|Реализован метод разбора xlsx файла **PutFileInBuffer **, проверка на структуру файла, на то что файл не пуст и забор его данных в БД интеграции.|(((
139 +[[https:~~/~~/redmine.goodt.me/issues/99568>>url:https://redmine.goodt.me/issues/99568]]
140 +
141 +Реализация API метода PutFileInBuffer для разбора данных заполненного шаблона
142 +)))
143 +|(((
144 +Регистрация модуля в метамодели и разработка базовых методов
145 +)))|(((
146 +* Модуль интеграции зарегистрирован в метамодели.
147 +* Реализован hateoas и представления бизнес-модели.
148 +* Реализованы настройки работы с SFTP сервером.
149 +* Реализованы методы: 
150 +** **GetFileList  **/api/import/buffer/file-list  - Вызывается по кнопке "Создать поток" на странице правил обработки данных по шаблонам. Метод создает интеграционный поток и формирует список файлов соответствующие критериям (путь к сфтп, префикс, расширение). Регистрирует в системе записи интеграционных файлов (flow_file)
151 +** **GetFileData **/api/import/buffer/file-data - Вызывается по кнопке "Забрать данные в буффер" на странице правил обработки данных по шаблонам. Метод заполняет данные flow_file, вызывает метод **PutFileInBuffer**, вызывает метод **MoveFile **по результату забора данных
152 +** ** GetExecuteFlowFileListCheck  **/api/integration/execution/check -Вызывается по нажатию "проверить без вставки" Метод проверяет данные в БД интеграции.
153 +** ** GetExecuteFlowFileListCheckInsert  **/api/integration/execution/insert - Вызывается по нажатию "проверить и загрузить"  Метод проверяет данные в БД интеграции и загружает в целевую систему.
154 +** **MoveFile - **забирает файл по указанному пути и перекладывает файл по указанному пути
155 +* В рамках методов реализовано логирование ошибок.
156 +* Доработана структура данных БД интеграции.
157 +)))|(((
158 +[[https:~~/~~/redmine.goodt.me/issues/102235>>url:https://redmine.goodt.me/issues/102235]]
159 +
160 +API_ИП/2 Разработка методов (базовые)
161 +)))
162 +|Разработка базовых интерфейсов для прохождения основного сценария|(((
163 +* Реализованы на UI основные таблицы:
164 +** Просмотр шаблонов.
165 +** Просмотр типов файла интеграционной платформы.
166 +** Просмотр состава данных шаблона интеграции.
167 +** Просмотр алгоритма проверки шаблонов интеграции.
168 +** Просмотр типов файлов для интеграции.
169 +** Просмотр реестра источников файлов для интеграции.
170 +** Просмотр правил обработки данных по шаблонам по интеграционным потокам.
171 +** Просмотр правил обработки данных по шаблонам.
172 +** Просмотр реестр интеграционных потоков.
173 +** Просмотр файлов интеграции.
174 +** Просмотр строк файлов интеграции.
175 +** Редактирование файлов интеграционного потока.
176 +** Редактирование карточки интеграционного потока.
177 +** Редактирование карточки правил обработки данных по шаблонам.
178 +* Реализованы элементы на UI, которые обеспечивают вызов методов и прохождение всего сценария работы с интеграционным потоком на примере любого бизнес- объекта:
179 +** Создание потока через вызов метода.
180 +** Создание и обработки потока через вызов метода.
181 +** Забор данных в БД интеграции через вызов метода. 
182 +** Проверка и загрузка через вызов метода.
183 +** Формирование и скачивание отчетности через вызов метода.   
184 +** Скачивание пустого шаблона через вызов метода.   
185 +)))|(((
186 +[[https:~~/~~/redmine.goodt.me/issues/109401>>url:https://redmine.goodt.me/issues/109401]]
187 +
188 +API_ИП/2 Разработка интерфейсов
189 +)))
190 +|Разработка мастер методов для массового создания и обработки потоков |(((
191 +Реализованы мастер методы:
192 +
193 +* **executeAllIntegrationSteps **/api/integration/template-flow/{id}/execute - Вызывается по кнопке "Создать и обработать поток"  для определенного правила обработки. Мастер метод который вызывает внутри себя подряд все методы:
194 +** /api/import/buffer/file-list
195 +** /api/import/buffer/file-data
196 +** /api/integration/execution/check
197 +** /api/integration/execution/insert
198 +* (((
199 + **ChainLaunch **/api/integration/template-flow/execute - Вызывается по кнопке "Создать и обработать все потоки поток"  для определенного правила обработки. Мастер метод который вызывает внутри себя подряд все методы:
200 +
201 +* /api/import/buffer/file-list
202 +* /api/import/buffer/file-data
203 +* /api/integration/execution/check
204 +* /api/integration/execution/insert
205 +)))
206 +)))|(((
207 +[[https:~~/~~/redmine.goodt.me/issues/109436>>url:https://redmine.goodt.me/issues/109436]]
208 +
209 +API_ИП/2 Разработка расширенного списка методов, реализующих функционал массового запуска базовых методов ИП
210 +
211 +
212 +)))
213 +|Стабилизация интерфейса и работы системы|(((
214 +Свёрстаны все страницы интерфейса
215 +
216 +Реализованы методы:
217 +
218 +* **GetEmptyTemplate **api/integration/api/import/buffer/file/{id}/excel - Вызывается по кнопке "Скачать". Метод генерирует пустой шаблон для заполнения на основе данных БД.
219 +* **ErrorLinesDownload **api/integration/api/template/{id}/generate - Вызывается по кнопке "Загрузить ошибочные строки". Метод генерирует файл сapi/integration/api/template/{id}/generate - Вызывается по кнопке "Загрузить о ошибочными строками, которые не загрузились в целевую систему.
220 +
221 +
222 +)))|(((
223 +[[https:~~/~~/redmine.goodt.me/issues/104186>>url:https://redmine.goodt.me/issues/104186]]
224 +
225 +API_ИП/3 Стабилизация
226 +)))
227 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть 1 |(((
228 +Для таблиц:
229 +
230 +* Legal_entity
231 +* Division
232 +* Person
233 +* Employee
234 +* Position
235 +* Role
236 +* Division_team
237 +
238 +Выполнено:
239 +
240 +* Обновлена структура хранения данных в БД.
241 +* Исправлены представления.
242 +* Реализована обработка и вставка в целевую систему шаблонов.
243 +* Подготовлены пустые xlsx шаблоны.
244 +* Подготовлены заполненные xlsx шаблоны.
245 +
246 +
247 +)))|(((
248 +[[https:~~/~~/redmine.goodt.me/issues/101583>>url:https://redmine.goodt.me/issues/101583]]
249 +
250 +API (Интеграционная платформа). Загрузка оргструктуры. Часть 1
251 +)))
252 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть 2|(((
253 +Для таблиц:
254 +
255 +* Project
256 +* Function
257 +* Legal_entity_team
258 +* Division_function
259 +* Function_team
260 +* Project_team
261 +* Work_function
262 +* Location
263 +
264 +Выполнено:
265 +
266 +* Обновлена структура хранения данных в БД.
267 +* Исправлены представления.
268 +* Реализована обработка и вставка в целевую систему шаблонов.
269 +* Подготовлены пустые xlsx шаблоны.
270 +* Подготовлены заполненные xlsx шаблоны.
271 +
272 +
273 +)))|(((
274 +[[https:~~/~~/redmine.goodt.me/issues/101584>>url:https://redmine.goodt.me/issues/101584]]
275 +
276 +API (Интеграционная платформа). Загрузка оргструктуры. Часть 2
277 +)))
278 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть 3|(((
279 +Для таблиц:
280 +
281 +* Structure
282 +* Workplace
283 +* Person_disability
284 +* Person_privilege
285 +* Personnel_document
286 +* Employee_condition
287 +* Placement
288 +* employee_education
289 +* work_experience
290 +
291 +Выполнено:
292 +
293 +* Обновлена структура хранения данных в БД.
294 +* Исправлена представления.
295 +* Реализована обработка и вставка в целевую систему шаблонов.
296 +* Подготовлены пустые xlsx шаблоны.
297 +* Подготовлены заполненные xlsx шаблоны.
298 +
299 +
300 +)))|[[https:~~/~~/redmine.goodt.me/issues/101604>>url:https://redmine.goodt.me/issues/101604]](((
301 +API (Интеграционная платформа). Загрузка оргструктуры. Часть 3
302 +)))
303 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть НМИ|(((
304 +Для таблиц:
305 +
306 +* legal_entity_status
307 +* legal_entity_type
308 +* division_status
309 +* division_group
310 +* position_type
311 +* position_status
312 +* position_rank
313 +* job_title
314 +* position_category
315 +* family_status
316 +* system_role
317 +* team_type
318 +* team_status
319 +* work_function_status
320 +* project_type
321 +* project_status
322 +* function_status
323 +* assignment_type
324 +* assignment_status
325 +* assignment_category
326 +* job_title_cluster
327 +* cost_center
328 +* position_importance
329 +* location_group
330 +* project_team_status
331 +* substitution_type
332 +* citizenship
333 +
334 +Выполнено:
335 +
336 +* Обновлена структура хранения данных в БД
337 +* Исправлена представления
338 +* Реализована обработка и вставка в целевую систему шаблонов
339 +* Подготовлены пустые xlsx шаблоны
340 +* Подготовлены заполненные xlsx шаблоны
341 +)))
342 +
343 += ONB0 Общие требования =
344 +
345 +(% class="table-bordered" %)
346 +|=(((
347 +**Тема**
348 +)))|=(((
349 +**Описание**
350 +)))|=(% colspan="1" %)(((
351 +Задача RM
352 +)))
353 +|(% colspan="1" %)(((
354 +Редактирование раздела "Полезные материалы" через административную панель
355 +)))|(% colspan="1" %)(((
356 +У Администратора Системы появилась возможность редактировать состав раздела "Полезные материалы" процесса "Адаптация" через административную панель. Теперь состав раздела можно сконфигурировать: задать заголовок, описание и ссылку на материал из внешнего ресурса.
357 +)))|(% colspan="1" %)(((
358 +[[https:~~/~~/redmine.goodt.me/issues/106869>>url:https://redmine.goodt.me/issues/106869]]
359 +)))
360 +|(((
361 +Редактирование плана адаптации
362 +)))|(((
363 +В рамках развития процесса "Адаптации" добавлена возможность через административную панель формировать состав задач и подзадач плана адаптации работников.
364 +)))|(((
365 +[[https:~~/~~/redmine.goodt.me/issues/106949>>url:https://redmine.goodt.me/issues/106949]]
366 +)))
367 +|Настройка фоновой программы|Реализована новая фоновая программа, которая формирует индивидуальный план адаптации нового работника исходя из настройки плана адаптации. Кроме этого, назначение опросов выведены в отдельный фоновый процесс, который при необходимости отключается.|[[https:~~/~~/redmine.goodt.me/issues/106949>>url:https://redmine.goodt.me/issues/106949]]
368 +
369 += PLT0 Общие требования =
370 +
371 +(% class="table-bordered" %)
372 +|=(((
373 +**Тема**
374 +)))|=(((
375 +**Описание**
376 +)))|=(% colspan="1" %)(((
377 +Задача RM
378 +)))
379 +|(% colspan="1" %)Переход на RT-Core|(% colspan="1" %)Переход на rt-core, включение TS2 в rt-core|(% colspan="1" %)[[https:~~/~~/redmine.goodt.me/issues/103594>>url:https://redmine.goodt.me/issues/103594]]
380 +|(% colspan="1" %)Фоновая программа обработки переводов и тасков|(% colspan="1" %)Новый функционал фоновой программы позволяет обрабатывать переводы работника и "переводить" на его новое назначение его исторические таски основных процессов|(% colspan="1" %)[[https:~~/~~/redmine.goodt.me/issues/106128>>url:https://redmine.goodt.me/issues/106128]]
381 +
382 += PLT2 Оргструктура =
383 +
384 +(% class="table-bordered" %)
385 +|=(((
386 +**Тема**
387 +)))|=(((
388 +**Описание**
389 +)))|=(% colspan="1" %)(((
390 +Задача RM
391 +)))
392 +|(% colspan="1" %)(((
393 +Новая структура для раздела "Образование" профиля работника
394 +)))|(% colspan="1" %)(((
395 +В модель данных модуля добавлена новая структура для хранения данных образования работника
396 +)))|(% colspan="1" %)(((
397 +[[https:~~/~~/redmine.goodt.me/issues/110997>>url:https://redmine.goodt.me/issues/110997]]
398 +)))
399 +|(% colspan="1" %)Органиграмма 2.0|(% colspan="1" %)Обновление и изменение функционала визуализации Органиграммы|(% colspan="1" %)(((
400 +[[https:~~/~~/redmine.goodt.me/issues/93958>>url:https://redmine.goodt.me/issues/93958]]
401 +
402 +[[https:~~/~~/redmine.goodt.me/issues/101978>>url:https://redmine.goodt.me/issues/101978]]
403 +)))
404 +
405 += Разворачивание системы =
406 +
407 +(% class="table-bordered" %)
408 +|**Сервис**|**Описание**|**Значения переменных**|**Примечания**
409 +|rtl-core|Изменение или добавление|RTL_ROOT_URL: https:~/~/root_url|
410 +|rtl-job|Изменение или добавление|(((
411 +RTL_BACKEND_TASKSETTING_URL:   [[__https:~~/~~/root_url/rtl-api/rt-core/old__>>url:https://root_url/rtl-api/rt-core/old]]
412 +
413 +RTL_BACKEND_RTCORE_URL:        [[__https:~~/~~/root_url/rtl-api/rt-core__>>url:https://root_url/rtl-api/rt-core]]
414 +)))|
415 +|hr-competence|Изменение или удаление| |Удален frontend сервис
416 +|my-attestation|Изменение или удаление| |Удален frontend сервис
417 +|vkph-admin|Изменение или добавление| |Добавлен frontend сервис