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

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

Это важно

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

Доступно расширение с ограниченным доступом

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

Диаграмма расширяемости

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

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

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

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

Включить ограниченные расширения

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

Замечание

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

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

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

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

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

Замечание

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

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

Триггеры

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

  • Catalog: Microsoft Dataverse Common.
  • Категория: 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:
    • Администраторы могут хранить здесь информацию или пользовательские параметры, не раскрывая их пользователям — например, ссылку на выполнение или утверждение рабочей процедуры или другие соответствующие данные. Цель состоит в том, чтобы обеспечить гибкость и упростить пользовательские отчеты для данных, связанных с развертыванием.

Samples

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

Примеры расширяемости пайплайнов

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

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

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

Дальнейшие шаги