Расширение конвейера в Power Platform

Конвейеры могут быть адаптированы для удовлетворения уникальных потребностей организации. Например, вы можете добавлять утверждения, развертывание с помощью субъектов-служб и интеграцию с внутренними системами учета, Azure DevOps, GitHub и т. д. Поскольку используются бизнес-события Microsoft Dataverse, бизнес-логика может выполняться внутри Power Automate или различных других подписчиков. Неважно, насколько сложен конвейер, процесс развертывания остается простым для разработчиков.

Внимание

  • Новые расширения конвейеров постепенно развертываются во всех регионах и, возможно, еще недоступны в вашем регионе.
  • Существующим пользователям конвейера может потребоваться обновить приложение конвейеров Power Platform, чтобы активировать новые функции. Вы можете управлять обновлениями в Центре администрирования Power Platform.
  • Персональные конвейеры, созданные в Power Apps (make.powerapps.com), не могут быть расширены.

Доступно расширения с проверкой

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

Диаграмма обучения расширяемости

Если включена, каждое расширение вставляет пользовательский шаг в разные точки процесса развертывания. Расширения можно использовать по отдельности или вместе.

  • Требуется шаг перед экспортом — позволяет запускать пользовательскую логику проверки при отправке запроса на развертывание. Конвейеры не будут экспортировать решение из среды разработки, пока этот шаг не будет помечен как завершенный. Включайте только для первого этапа конвейера. Например, приемочное тестирование пользователями (UAT).

  • Делегированное развертывание — выполняет развертывания с использованием удостоверения субъекта-службы или владельца этапа конвейера вместо удостоверения запрашивающего разработчика. Этот идентификатор гарантирует, что разработчики смогут запрашивать развертывание без повышенного (или какого-либо) доступа в целевых средах. Требуется одобрение уполномоченного лица.

  • Требуется шаг перед развертыванием — обеспечивает дополнительную гибкость для вставки пользовательского шага после утверждения развертывания. Например, если требуется окончательное одобрение.

Включение расширений с проверкой

Шаги, добавленные путем включения расширения с проверкой, находятся в состоянии ожидания до тех пор, пока ваша бизнес-логика не выполнится и не подаст сигнал узлу конвейеров о необходимости завершения или отклонения шага. Разработчики могут видеть, когда развертывание находится в ожидании, а также отменить свой запрос на развертывание до последнего этапа развертывания.

Заметка

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

Понимание триггеров и действий конвейеров

Каждый шаг развертывания конвейера запускает событие в реальном времени в начале и завершении шага, для которого вы можете инициировать пользовательскую логику. Дополнительные триггеры создаются при включении расширений с проверкой. Они соответствуют пользовательскому шагу, вставленному при включении расширения на этапе конвейера.

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

Расширение с проверкой Триггер начала шага Триггер завершения шага Несвязанное действие Подключение для использования
Требуется шаг перед экспортом OnDeploymentRequested Неприменимо UpdatePreExportStepStatus Любое удостоверение с доступом для обновления записи выполнения этапа развертывания
Делегированное развертывание OnApprovalStarted OnDeploymentCompleted Создайте подключение в качестве субъекта-службы или владельца этапа конвейера, как настроено на этапе конвейера. Владелец этапа конвейера должен быть владельцем субъекта-службы в Microsoft Microsoft Entra ID.
Требуется шаг перед развертыванием OnPreDeploymentStarted OnPreDeploymentCompleted UpdatePreDeploymentStepStatus Любое удостоверение с доступом для обновления записи выполнения этапа развертывания

Заметка

Триггеры OnDeploymentRequested для всех развертываний.

Диаграмма развертывания на первом этапе

Триггеры

Триггеры доступны в облачных потоках Power Automate в хост-среде конвейеров в триггере под названием При выполнении действия соединителя в Dataverse.

  • Каталог: обычный Microsoft Dataverse.
  • Категория: конвейеры Power Platform.
  • Имя таблицы: (нет).
  • Имя действия: выберите вариант из списка. Конвейеры предоставляют следующие пользовательские действия, которые создают триггер в облачных потоках Power Automate. События, связанные с утверждением и OnPreDeployment*, срабатывают только при включении соответствующего расширения. OnDeploymentRequested
    OnApprovalStarted
    OnApprovalCompleted
    OnPreDeploymentStarted
    OnPreDeploymentCompleted
    OnDeploymentStarted
    OnDeploymentCompleted

Здесь приведен пример снимка экрана с триггером.

Триггеры конвейеров в Power Automate

Условия триггера

Условия триггера Power Automate позволяют настроить триггер так, чтобы поток запускался только при соблюдении определенных условий. Например, вам может потребоваться запустить разные потоки и связанную с ними бизнес-логику в разных конвейерах или этапах конвейера. Это также помогает поддерживать низкое потребление выполнения потоков и запросов Power Platform.

Конвейеры запускают условия в Power Automate

Запуск потока для определенного конвейера

Запускает выполнение потока для всех этапов конвейера (Contoso Pipeline). В этом примере замените Contoso Pipeline на имя вашего конвейера:

@equals(triggerOutputs()?['body/OutputParameters/DeploymentPipelineName'], 'Contoso Pipeline')

Запуск потока для определенного этапа в конвейере

Запускает поток для этапа развертывания с именем этапа аналогичным «Contoso UAT»:

@equals(triggerOutputs()?['body/OutputParameters/DeploymentStageName'], 'Contoso UAT')

Запуск потока для определенных этапов в конвейере

Запускает поток для этапов развертывания с именем этапа содержащим «QA»:

@contains(triggerOutputs()?['body/OutputParameters/DeploymentStageName'], 'QA')

Дополнительные сведения о выражениях, используемых в условиях, см. в разделе Использования выражений в условиях для проверки нескольких значений.

Действия

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

Эти параметры предоставляются в действиях для соответствующих расширений с проверкой.

  • UpdatePreExportStepStatus, UpdateApprovalStatus и PreDeploymentStepStatus:
    • 10 — это статус ожидания, установленный системой.
    • 20 — для завершения шага.
    • 30 — для отклонения шага. Развертывание не будет продолжено, и статусом будет «Сбой». Вы также можете добавить комментарии как для разработчика, так и для администратора, чтобы указать причину отклонения.
  • ApprovalComments и комментарии перед развертыванием:
    • Комментарии, которые видны разработчику в журнале выполнения конвейеров. Предназначены для того, чтобы утверждающие могли делиться комментариями с запрашивающим разработчиком. Например, почему их развертывание было отклонено или содержать информацию о конкретных процессах компании.
  • PreExportProperties и ApprovalProperties:
    • Администраторы могут хранить здесь информацию или пользовательские параметры, не раскрывая их разработчикам — например, ссылку на выполнение или утверждение потока или другие соответствующие данные. Цель состоит в том, чтобы обеспечить гибкость и упростить пользовательские отчеты для данных, связанных с развертыванием.

Примеры

Загрузите и затем импортируйте требуемое управляемое решение или решения в среду размещения конвейеров. Эти примеры можно настроить в соответствии с уникальными потребностями вашей организации.

Примеры расширения конвейеров

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

Примеры делегированного развертывания

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

Следующие шаги

Запуск конвейеров в Power Platform

Что представляют собой облачные потоки?
Использование соединителя Dataverse с облачными потоками