Каталог — это раздел платформы, который содержит список всех ресурсов, их параметров и связей, а также предоставляет пользователям возможность запускать сценарии для сущностей ресурсов.

Наполнение каталога возможно в ручном режиме, либо автоматически с использованием источников данных или вебхуков.

Ресурсы

Ресурс — это шаблон или тип сущности в каталоге платформы. Ресурс определяет структуру данных, параметры и свойства, которые будут наследовать все сущности данного типа. Например, ресурс «Репозитории GitLab» описывает структуру данных для репозиториев GitLab, а каждая конкретная сущность этого ресурса представляет отдельный репозиторий.

Основной принцип, заложенный в платформу, заключается в том, что модель данных настраивается администратором платформы. Администратор может самостоятельно создавать те ресурсы, которые ему необходимы.

Именование ресурсов

При именовании ресурсов следуйте правилам:

  • «Название ресурса» может быть любым и не требует специальных префиксов или разделителей.
  • «Идентификатор ресурса» должен быть уникальным в пределах всей платформы.

Группировка ресурсов

Ресурсы в каталоге могут быть организованы в иерархическую структуру. Это позволяет логически группировать связанные ресурсы и улучшает навигацию в каталоге.

Для создания группы ресурсов необходимо:

  1. «Создать ресурсы» — создать все необходимые ресурсы, которые будут входить в группу. Например, ресурс «GitLab» может быть родительским для ресурсов «Репозитории», «Группы» и т. д.

  2. «Связать дочерние ресурсы с родительскими» — в сайдбаре каталога перетащить дочерний ресурс на родительский ресурс. Дочерние ресурсы будут автоматически привязаны к родительскому и отобразятся в интерфейсе как вложенные элементы.

  3. «Настроить отображение» — в сайдбаре каталога родительские ресурсы отображаются с иконкой раскрытия/сворачивания, позволяющей показывать или скрывать дочерние элементы.

Для изменения группировки ресурсов (перетаскивания ресурсов в сайдбаре каталога) требуется глобальное разрешение update:resources-order. Подробнее о правах доступа — в разделе «Ролевая модель».

Для просмотра дочернего ресурса у пользователя должны быть права на просмотр (read:resources) всей иерархии родительских ресурсов. Подробнее о правах доступа — в разделе «Ролевая модель».

Отображение полного пути

В интерфейсе платформы (селекторы ресурсов, теги, графы связей) отображается полный путь ресурса с цепочкой родительских ресурсов, разделённых символом /. Например, если ресурс «Репозитории» является дочерним для ресурса «GitLab», то в интерфейсе будет отображаться «GitLab / Репозитории».

Страница ресурса

По умолчанию после создания ресурса на его странице будет отображаться таблица с сущностями ресурса. При клике на сущность в таблице можно перейти на её страницу.

Дашборды

В форме редактирования ресурса задаются три независимых варианта использования дашбордов:

  1. «Использовать дашборд на странице ресурса» — выбранный дашборд выводится на странице ресурса вместо таблицы или карточек сущностей.

  2. «Использовать дашборд на странице сущности» — выбранный дашборд выводится на странице сущности вместо встроенного содержимого вкладки «Обзор».

  3. «Дополнительные вкладки с дашбордами» — дополнительные дашборды в виде вкладок на странице каждой сущности ресурса. Порядок отображения дашбордов зависит от порядка в конфигурации ресурса, доступно изменение порядка перетаскиванием. Один и тот же дашборд нельзя добавить несколько раз для одного и того же ресурса.

Режим просмотра сущностей

Когда на странице ресурса отображается список сущностей, над списком доступен переключатель «Таблица» и «Карточки».

  1. «Таблица» — сущности в виде таблицы с сортировкой, пагинацией и поиском; при необходимости доступно массовое удаление.

  2. «Карточки» — сущности в виде карточек с основными параметрами; список подгружается при прокрутке страницы.

  3. Выбранный режим сохраняется в браузере отдельно для каждого ресурса.

Связи между ресурсами

Каждый ресурс может быть связан с другим ресурсом или сам с собой двусторонней связью. Связи настраиваются администратором платформы. После настройки связей для ресурса каждая сущность данного ресурса может быть связана с одной либо несколькими сущностями другого ресурса.

Допускается создание как вертикальных связей (сущность из одного ресурса связывается с сущностью из другого ресурса), так и горизонтальных (связываются сущности в рамках одного ресурса).

У каждой связи можно указать параметры родительского и дочернего ресурса, через которые будут связаны сущности. Данные параметры будут отображаться на графе связей при нажатии на соединительную линию между карточками ресурсов или сущностей.

Сущности

Сущность — это конкретная единица каждого ресурса. Например, если ресурс называется «Группы» и является дочерним для ресурса «GitLab», то каждая группа в GitLab, зарегистрированная в платформе, является сущностью этого ресурса.

Сущности наследуют параметры ресурсов, при этом возможно задание параметров отдельно для каждой сущности.

Именование сущностей

При именовании сущностей следуйте правилам:

  • «Название сущности» может быть любым и не требует специальных префиксов или разделителей.
  • «Идентификатор сущности» должен быть уникальным в пределах ресурса.

Страница сущности

Страница сущности состоит из встроенных панелей и вкладок с дашбордами. Встроенные панели:

  • «Обзор» — содержит блоки с указанием владельца сущности, её описанием, параметрами и связями.
  • «Запуски действий» — содержит список действий, которые запускались для данной сущности.
  • «Запуски процессов» — содержит список процессов, которые запускались для данной сущности.
  • «События» — содержит список событий, сгенерированных для данной сущности.

Вкладки с дашбордами из поля «Дополнительные вкладки с дашбордами» в настройках ресурса отображаются на странице сущности рядом со встроенными панелями; порядок вкладок соответствует порядку в настройках ресурса.

Связи между сущностями

Связи для каждой сущности отображаются на странице сущности в виде таблицы и в виде графа. Каждая сущность может быть связана с одной или несколькими сущностями того же или другого ресурса, в зависимости от настроенных связей между ресурсами.

Связи между сущностями могут создаваться в ручном режиме либо автоматически при помощи источников данных или вебхуков.

События

При создании, удалении либо изменении спецификации любой сущности генерируется событие соответствующего типа: ENTITY_CREATED, ENTITY_DELETED, ENTITY_UPDATED. Эти события нужны для следующих целей:

  • «Аудит» — фиксация изменений, происходящих с сущностью в течение её жизненного цикла.
  • «Настройка автоматизированных реакций» — настройка реакций на изменения спецификации сущности.

Время хранения событий ограничено и может быть настроено через файл конфигурации платформы.

Избранное

Пользователь может добавить любую сущность в избранное. Для этого на странице сущности нажмите на круглую кнопку со всплывающей подсказкой «Добавить в избранное» рядом с названием сущности. Посмотреть добавленные в избранное сущности можно в разделе каталога «Избранное».

Каждый пользователь видит в разделе «Избранное» только его добавленные сущности.

Выгрузка сущностей в CSV

Платформа предоставляет возможность выгрузки сущностей в CSV-файл для последующего анализа и обработки данных.

Выгрузка сущностей одного ресурса

Для выгрузки сущностей конкретного ресурса:

  1. Откройте страницу ресурса в каталоге.

  2. Рядом с названием ресурса нажмите на круглую кнопку со всплывающей подсказкой «Выгрузить сущности ресурса в CSV».

  3. В выгруженный файл будут включены все сущности ресурса с учётом применённых фильтров, сортировки и пагинации.

Выгрузка сущностей нескольких ресурсов

Для выгрузки сущностей из нескольких ресурсов одновременно:

  1. В сайдбаре каталога нажмите кнопку «Выгрузить сущности».

  2. В открывшемся диалоге выберите один или несколько ресурсов.

  3. Нажмите кнопку «Скачать .csv».

  4. Все сущности выбранных ресурсов будут объединены в один CSV-файл.

Для выгрузки сущностей требуется глобальное разрешение read:entities. Подробнее о правах доступа — в разделе «Ролевая модель».