Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Приложение для владения

Материал из Документация АппОптима

Применение АппОптима / Владение / Приложение для владения

Последняя версия АппОптима

Приложение Ownership предоставляет действия для построения рабочего процесса, запрашивающего команду владения объекта и связанную контактную информацию. С помощью этих действий вы можете извлекать данные о владении объекта и интегрировать их с другими приложениями, например, для отправки уведомлений Slack или обновлений Jira владением объектов на основе различных триггеров.

Кроме того, приложение Ownership позволяет импортировать команды из следующих источников с помощью автоматизированных рабочих процессов :

  • Группы из Microsoft Entra ID
  • Группы из ServiceNow
  • Любой источник данных, использующий структуру JSON

Подробности см . в разделе Возможности (ниже).

Разрешения

  • Для владения требуются следующие разрешения.
    • environment-api:entities:read—Читать объекты.
    • settings:objects:read—Читать объекты настроек 2.0.
    • settings:schemas:read—Читать схемы настроек 2.0.
  • Кроме того, вам потребуются следующие основные разрешения в Workflows (перейдите в раздел Workflows > Настройки > Настройки авторизации).
    • app-engine:apps:run— Позволяет просматривать и запускать приложения; обеспечивает базовый доступ к Launcher.
    • app-engine:functions:run— Позволяет использовать функцию-исполнитель. В качестве альтернативы вы можете настроить пользователей с помощью пользовательской политики AppEngine.

Возможности

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

import_teams

Это действие позволяет импортировать команды Ownership в АппОптима из разных источников данных. Для всех поддерживаемых источников мы предоставляем шаблоны рабочих процессов которые можно использовать в качестве справочного материала.

  • Группы Entra ID Действие import_teams берет результаты предопределенного действия get_groups, которое получает данные о группах из Microsoft Entra ID, и сохраняет данные как команды владения в АппОптима. Таким образом, вы можете использовать информацию о своем Entra ID для назначения команд владения объектами, отслеживаемым АппОптима, без создания команд с нуля.
    1. Убедитесь, что действие get_groups предшествует действию import_teams в том же рабочем процессе. Мы рекомендуем, чтобы действие import_teams следовало сразу за действием get_groups. Важно для импорта групп Entra ID в качестве команд владения :
      • Вам всегда необходимо включать id и displayName в $select; эти поля сопоставляются с ID команды и названием команды импортированной команды владения соответственно.
      • Мы рекомендуем всегда включать параметр mailNickname в get_groups. Это поле имеет уникальные значения в Entra ID и задается как уникальный, понятный человеку дополнительный ID для вашей импортированной команды владения в АппОптима.
      • ID объекта из Entra ID, импортированный через параметр id, устанавливается как уникальный ID команды , а также как внешний ID импортированной команды владения.
      • Параметр mail задается как адрес электронной почты импортированной команды владения.
    2. Выберите группы Entra ID в качестве источника данных на вкладке Вход в действии import_teams.
    3. Установите данные, содержащие команды для импорта — в этом случае в качестве входных данных для {{ result("get_groups") }} используется результат get_groupsimport_teams
    4. Выберите настройки импорта . Импорт команды из Entra ID не может быть отменен. Однако вы можете выборочно импортировать и защищать изменения в ранее импортированной информации, выбрав один из следующих вариантов.
      • Если вы уже импортировали команды из Entra ID, вы можете выбрать Import new teams and skip existing teams . Эта опция гарантирует, что импортированные ID команд не перезапишут никакую информацию о командах, уже сохраненную в АппОптима. Эта опция позволяет обслуживать команды и планировать запуски импорта команд. Эта опция полезна, когда вы ранее импортировали команды, а затем изменили импортированную информацию в АппОптима. В таких случаях АппОптима, а не Entra ID, является источником правды о ваших существующих командах владения, и вы не хотите, чтобы последующие запуски import_teams перезаписывали вашу текущую информацию.
      • Если вы хотите импортировать команды из Entra ID с нуля, выберите Import new teams and owerwrite existing teams . Для импортируемых ID команд эта опция перезаписывает любую информацию о команде, которая уже существует в АппОптима.

267.png

  • Группы ServiceNow Действие import_teamsберет результаты предопределенного действия get_groups, которое получает данные о группах из ServiceNow и сохраняет данные как команды владения в АппОптима. Таким образом, вы можете использовать информацию ServiceNow для назначения команд владения объектам, отслеживаемым АппОптима, без создания команд с нуля.
    1. Убедитесь, что действие get_groups предшествует действию import_teams в том же рабочем процессе. Мы рекомендуем, чтобы действие import_teams следовало сразу за действием get_groups.
    2. Выберите группы ServiceNow в качестве источника данных на вкладке Вход в действии import_teams.
    3. Установить данные, содержащие команды для импорта — в этом случае в качестве входных данных для {{ result("get_groups") }} используется результат get_groupsimport_teams.
    4. Выберите настройки импорта . Импорт команды из ServiceNow не может быть отменен. Однако вы можете выборочно импортировать и защищать изменения в ранее импортированной информации, выбрав один из следующих вариантов.
      • Если вы уже импортировали команды из ServiceNow, вы можете выбрать Import new teams and skip existing teams. Эта опция гарантирует, что импортированные идентификаторы команд не перезапишут никакую информацию о командах, уже сохраненную в АппОптима. Эта опция позволяет выполнять обслуживание команд и запланированные запуски импорта команд. Эта опция полезна, когда вы ранее импортировали команды и изменили импортированную информацию в АппОптима. В таких случаях АппОптима, а не ServiceNow, является источником правды о ваших существующих командах владельцев, и вы не хотите, чтобы последующие запуски import_teams перезаписывали вашу текущую информацию.
      • Если вы хотите импортировать команды из ServiceNow с нуля, выберите Import new teams and owerwrite existing teams. Для импортируемых идентификаторов команд эта опция перезаписывает любую информацию о команде, которая уже существует в АппОптима.
  • JSON import_teams позволяет импортировать информацию о команде владения, которая ранее была сгенерирована как массив JSON действием run_javascript в том же рабочем процессе. Этот подход позволяет извлекать информацию о команде из любой сторонней базы данных в структурированном формате, указанном в схеме JSON конфигурации владельцев (builtin:ownership.config), которую предоставляет АппОптима.
    1. Убедитесь, что действие run_javascript предшествует import_teams в том же рабочем процессе. Мы рекомендуем, чтобы действие import_teams следовало сразу за действием run_javascript. Результатом run_javascript должен быть массив JSON, который можно потреблять import_teams.
    2. В разделе Схема владения import_teams выберите JSON в качестве источника данных на вкладке Вход.
    3. Установите данные, содержащие команды для импорта {{ result("run_javascript_1") }}— это результат run_javascript.
    4. Выберите настройки импорта . Импорт команды из JSON не может быть отменен. Однако вы можете выборочно импортировать и защищать изменения в ранее импортированной информации, выбрав один из следующих вариантов.
      • Import new teams and skip existing teams гарантирует, что для импортируемых идентификаторов команд любая информация о командах, уже сохраненная в АппОптима, не будет перезаписана. Эта опция позволяет обслуживать команды и планировать запуски импорта команд. Эта опция полезна, когда вы ранее импортировали команды, а затем изменили импортированную информацию в АппОптима. В таких случаях вы не хотите, чтобы последующие запуски import_teams перезаписывали вашу текущую информацию.
      • Чтобы импортировать команды с нуля, выберите Import new teams and owerwrite existing. Для импортируемых идентификаторов команд эта опция перезаписывает любую информацию о команде, которая уже существует в АппОптима.

get_owners

Предварительные условия: вы создали команды владения в АппОптима и назначили их отслеживаемым объектам.

Действие get_owners позволяет вам извлекать связанные команды владения, включенные в метаданные указанных объектов. Вы можете определить источник, из которого вы хотите запросить владельцев. И ID объекта, и ID команды могут использоваться по отдельности или в комбинации.

  1. Выберите ID объектов, либо введя ссылку на выражение Jinja , либо добавив несколько ID объектов, разделив их запятой , или точкой с запятой ;. Это действие принимает ID объектов в качестве входных данных, но также может вывести ID объекта на основе предыдущего действия рабочего процесса.
  2. Выберите команду из списка ID команды или введите ссылку на выражение Jinja . Это действие принимает команду в качестве входных данных, но также может вывести команду на основе предыдущего действия рабочего процесса.
  3. В Фильтр владения выберите владение на основе обязанностей, содержащихся в определениях команды в Фильтр владельцев по ответственности . По умолчанию фильтр не применяется.

268.png

Пример создания автоматизированного рабочего процесса

Использование владения в рабочих процессах лучше всего иллюстрируется в Send logs to the owner of an entity в Automation Workflow Creator Sample. Вы можете сохранять иллюстрации в Automation Workflow Creator Sample как Notebooks, что позволяет просматривать подробные инструкции и запускать фрагменты кода для образцов рабочих процессов.

Вы можете использовать Automation Workflow Creator Sample, чтобы ознакомиться с использованием готовых действий владения в Workflows.

  1. Перейти к примеру Automation Workflow Creator. 269.png
  2. Прокрутите страницу до пункта Send logs to the owner of an entity и выберите Choose warkflow .
  3. Сохраните иллюстрацию в новом или существующем Notebook и выберите Add . 270.png Теперь ваше подробное руководство доступно в Notebooks с подробными инструкциями, примерами кода, которые вы можете запустить, и ссылками на пример рабочего процесса. 272.png
  4. Прокрутите страницу и выберите ссылку на пример рабочего процесса Примеры автоматизации: целевые уведомления, который вы можете изменить в соответствии со своими целями. 273.png 274.png

Шаги обучения и пример рабочего процесса

В этом разделе представлен контекст и проводится руководство по руководству Владения и пример рабочего процесса, установленные выше . Руководство сохранено в Notebooks  , а пример рабочего процесса сохранен в Workflows  .

  • Шаг 1: Назначьте владение хосту. В качестве предварительного условия вам необходимо настроить владение и назначить команду хосту в вашей среде. Подробнее о доступных методах читайте в разделе Назначение владельцев объектов. Обратите внимание, что вы можете применить тег для владения непосредственно на странице обзора хоста — выберите Владельцы в верхней части страницы, а затем выберите Добавить тег владения. 275.png
  • Шаг 2: Смоделируйте мероприятие-организатора. В качестве вспомогательного средства для руководства этот шаг имитирует событие хоста типа Пользовательская информация ; в реальном сценарии хост столкнется с событием или проблемой, которая запускает рабочий процесс. В предоставленном примере кода вставьте идентификатор хоста, как показано ниже, и выберите Запустить код . ID хоста можно найти в URL-адресе страницы обзора хоста. 276.png Событие можно увидеть на карточке События. 277.png
  • Шаг 3: Извлечение событий; настройка триггера событий рабочего процесса. На третьем этапе руководства ID хоста принимается в качестве входных данных для выполнения DQL-запроса, который извлекает события хоста указанного типа CUSTOM_INFO. Это соответствует первой задаче в Automation Samples: Targeted Notifications sample workflow , которая устанавливает триггер на основе событий для рабочего процесса. Вставьте ID хоста, как показано, и выберите Query events . На изображении ниже показаны выходные данные задачи и сведения о самом последнем событии. 278.png
  • Шаг 4: Извлеките логи хоста. Этот шаг руководства соответствует второй задаче примера рабочего процесса, в котором действие get_logs извлекает последние 10 логов для хоста. Вам необходимо указать ID хоста для запуска примера кода в руководстве. Однако рабочий процесс использует код {{ event()["dt.entity.host"] }} для извлечения логов для хоста, уже определенного в триггере рабочего процесса.
  • Шаг 5: Получите информацию о владельце хоста (действие get_owners). В этом шаге описываются действия get_owners в примере рабочего процесса Примеры автоматизации: целевые уведомления. get_owners требует ID объекта в качестве входных данных для извлечения информации о связанной команде владения. Однако в образце рабочего процесса get_owners использует код {{ event()["dt.entity.host"] }} для извлечения команд для хоста, уже определенного в триггере рабочего процесса. 279.png
  • Шаг 6: Запустите пример рабочего процесса. Прежде чем выбрать Run для сохраненного примера рабочего процесса, выполните шаг 2 руководства несколько раз, чтобы смоделировать события хоста. Когда вы выполнили свой рабочий процесс, успешные задачи подсвечиваются зеленым цветом. Выберите каждое действие владения в представлении выполнения, чтобы проверить его вывод. get_owners возвращает информацию о команде вместе с контактными данными, сгруппированными по типу контакта в формате JSON на вкладке Executions. 280.png
  • Шаг 7: Настройте действие Slack для целевых уведомлений. Вы можете расширить пример рабочего процесса, интегрировав его со Slack for Workflows для отправки целевых уведомлений. Аналогично, если вы извлекаете контактную информацию Jira для команды владения, вы можете интегрировать его с Jira for Workflows для создания задач.