Let’s try Power Platform Pipelines

One of the latest features that most people waiting for is the Power Platform Pipelines. I created 3 Developers’ environments for demonstration and enabled the Managed Environments feature. For those who want to try it, you can follow this link to get your own environment to test (the link will show you how to join Microsoft 365 Developer Program).

Enabling the Managed Environments is pretty easy. You just need to go to admin.powerplatform.com > go to Environments > select your environment > click Enabled Managed Environments:

Enable Managed Environments

Next, go to Resources > Dynamics 365 apps > go find Power Platform Pipelines > installed it to the host environment that you want. For this demonstration purpose, I select temmydev1 as the host. The explanation from the official documentation, the host environment will act as the storage and the main control for the pipeline itself.

Install Power Platform Pipelines

Once the Power Platform Pipelines installed, you can go to make.powerapps.com > go to the host environment that you are selected earlier > there you will see the Deployment Pipeline Configuration app:

Deployment Pipeline Configuration

Inside the app, we need to set up all the environments that we have first. We need to go to Environments > New:

New Environment

To get the environment variable, you can go to admin.powerplatform.com > Environments > select the environment that you want to know the id:

Get the environment id

Once everything is okay, click the Save button > if the Validation Status becomes “Success” you can go to the next step (if “Failed“, most likely you enter the wrong Environment Id. Please follow the previous step). Do these steps for all the Environments that you want to use (as the pipeline). Below are my settings for the Environments:

My Environments step

Next, add the security role “Deployment Pipeline Administrator” and “Deployment Pipeline User” to the user that you want to use as the Pipeline administrator. Go to admin.powerplatform.com > select the host Environment > Settings > User + permissions > select the user that you want to use as the Pipeline administrator > add those roles:

Set user as "Deployment Pipeline Administrator" and "Deployment Pipeline User".

Again, we still need to set up the Pipeline. Go to the “Pipeline” > New > Enter the name + description as what you like. On Linked Development Environments, you can add existing the dev environment. Then for Deployment Stages, you can click new, and enter the information below. Basically, this will capture the setting for flow from Dev > to higher environments (SIT/UAT/Prod):

Setup Pipeline record

Run the Pipeline

Go to your Dev environment and prepare a solution to be deployed to higher environments. For example, I create below JS component:

Sample JS file

Once you are ready to try your pipeline, go back to your Solutions > select the Unmanaged Solution > click the hamburger navigation, and select Pipelines icon > there you can find the information for deploying (at first, I can’t find this navigation. After checking the youtube link, I only know how to get there):

Test your pipeline!

Let’s click the “Deploy here” button:

Action for "Deploy here"

Click the Next button and click the Deploy button:

The system will automatically import the solution and we need to wait until the import is finished (here I can’t find any setting to import as “Unmanaged”):

Import solution finished to temmydev2

Then, you can inspect the solution in the target environment, and here is the result from my side:

As you can see, the solution was imported as a “Managed” solution.

I think that’s all for today’s blog post. What I’m thinking, this feature is a kinda “low-code” ALM that is very easy to set up without needing very deep technical skills. But there is also a drawn back as we need to follow as is flow (most organizations got lots of checking that are being put in the ALM process). But for sure, this is a nice feature to try for simple operations and you must try it!

Happy CRM-ing!


9 thoughts on “Let’s try Power Platform Pipelines

  1. Hi

    I am trying to create a new envieonment to run the new Pipelines App.

    I have created the new environment as a Managed Services Environment

    Then installed the App

    But when i run it i get =”Pipelines is only supported in Managed Environments.” and it wont let me add environments.

    This is my own instance and hence i am ‘god’ in terms of rights.

    And all the environments in the instance are managed.

    What am i doing wrong?


    1. When you open admin.powerplatform.com > Environments, are all the Environments that you want are Managed=true? If yes, do you already add the security roles (“Deployment Pipeline Administrator” and “Deployment Pipeline User”) for the user that will run the pipeline in the host environment?


      1. Hi, Are these DEVOPS roles or Powerplatform roles? ARe they created when installing the APP? How do i get to the roles to check i am a member? Mike


  2. Hi temmyraharjo,

    As a Power platform administrator I have configured Pipelines and granted Pipeline user & admin rights to makers. What security roles are required for the end user in UAT & Prod environment to run the pipeline and deploy apps in target environment? We use CoE ALM Accelerator and everything is done via Service principal (App registrations). How does permissions work for logged in user?


    1. Hi Kannan. When I checked regarding this, in behind actually the user that running the import is the same user for exporting. I don’t see any setting that make us can change for example: running the pipeline in Dev as User Kannan, then when importing in SIT using OtherKannan. In other words, you must give at least an environment administrator for each environment that you want to use.


  3. Hi Temmy,
    How do you solve if an environment variable need to be updated when deploying in a target environment? The current pipelines solution seems that doesn’t work well.


    1. Hey Ajelula. Sorry for late reply as I’m kinda busy lately. I think this is the gap that we have for now. I believe the import methods will be overwrite customization (I’m not really try it) and we actually stuck with what the tool provided. Maybe in the next release we can get better control for it. ☺️


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.