{"id":37281,"date":"2024-02-05T14:42:09","date_gmt":"2024-02-05T09:12:09","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=37281"},"modified":"2024-09-16T15:43:35","modified_gmt":"2024-09-16T10:13:35","slug":"automate-solution-deployments-with-approvals-using-power-platform-pipelines","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2024\/02\/automate-solution-deployments-with-approvals-using-power-platform-pipelines\/","title":{"rendered":"Automate Solution Deployments with approvals using Power Platform Pipelines"},"content":{"rendered":"<p>In the dynamic landscape of technology, organizations are constantly seeking efficient ways to deploy solutions seamlessly. <a href=\"https:\/\/www.inogic.com\/services\/application-lifecycle-management\/power-platform-pipelines-implementation-services\/\" target=\"_blank\" rel=\"noopener\">Power Platform Pipelines<\/a> emerge as a powerful tool to automate solution deployments, providing a streamlined approach to managing and delivering applications. It helps ensure consistency, time efficiency, and maintaining version control.<\/p>\n<p>Firstly, you need to install the \u201c<strong>Power Platform Pipelines<\/strong>\u201d application in the host environment. You can refer to the below links for the Installation of Power Platform Pipelines in your host environment.<\/p>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/power-platform\/alm\/set-up-pipelines#install-the-pipelines-application-in-your-host-environment\" target=\"_blank\" rel=\"noopener\">https:\/\/learn.microsoft.com\/en-us\/power-platform\/alm\/set-up-pipelines#install-the-pipelines-application-in-your-host-environment<\/a><\/p>\n<p><strong>Note<\/strong>:<\/p>\n<ul>\n<li>You must have a Power Platform administrator or Dataverse system administrator role to install the application of the pipeline.<\/li>\n<li>Both Host and Destination environments must be in the same geographic location.<\/li>\n<\/ul>\n<p>After installation is done, the next step is to create a Pipeline that will automate the solution deployments from Source to Destination environments. You can refer below link for the configuration of Pipelines in your host environment.<\/p>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/power-platform\/alm\/set-up-pipelines#configure-a-deployment-pipeline\" target=\"_blank\" rel=\"noopener\">https:\/\/learn.microsoft.com\/en-us\/power-platform\/alm\/set-up-pipelines#configure-a-deployment-pipeline<\/a><\/p>\n<p>I have created one pipeline in my host environment and also added the target environments where I want to automate the solution deployments. Please check the below screenshot for the same.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37294\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/1Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"1283\" height=\"672\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/1Power-Platform-Pipelines.jpeg 1283w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/1Power-Platform-Pipelines-300x157.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/1Power-Platform-Pipelines-1024x536.jpeg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/1Power-Platform-Pipelines-768x402.jpeg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/1Power-Platform-Pipelines-660x346.jpeg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/1Power-Platform-Pipelines-380x200.jpeg 380w\" sizes=\"(max-width: 1283px) 100vw, 1283px\" \/><\/p>\n<p>You need to add and validate all the environments that you want to use for automating the deployments. In this case, as we only have one target environment hence we have added only one under the deployment stage.<\/p>\n<p>&#8211; Use this if you want to set up Approvals for the deployments<\/p>\n<p>Once Pipeline has been set up, you can go to any unmanaged solution in your host environment and you will see the pipelines icon on the right side of the navigation menu.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37293\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/2Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"1438\" height=\"440\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/2Power-Platform-Pipelines.jpeg 1438w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/2Power-Platform-Pipelines-300x92.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/2Power-Platform-Pipelines-1024x313.jpeg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/2Power-Platform-Pipelines-768x235.jpeg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/2Power-Platform-Pipelines-660x202.jpeg 660w\" sizes=\"(max-width: 1438px) 100vw, 1438px\" \/><\/p>\n<p>Now if you go to the pipelines menu then you will see the pipelines available from the host environment. You can also schedule the deployment based on a certain time like outside client business hours. If your pipeline does not have an approval process then deployment will start immediately once you specify the time to run the deployment. Please refer below screenshot for the same.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37292\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/3Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"1032\" height=\"756\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/3Power-Platform-Pipelines.jpeg 1032w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/3Power-Platform-Pipelines-300x220.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/3Power-Platform-Pipelines-1024x750.jpeg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/3Power-Platform-Pipelines-768x563.jpeg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/3Power-Platform-Pipelines-660x483.jpeg 660w\" sizes=\"(max-width: 1032px) 100vw, 1032px\" \/><\/p>\n<p>In our case, we will see how to automate solution deployment by defining the approvals.<\/p>\n<p>To add approvals, you need to enable the \u201c<strong>Pre-Deployment Step Required<\/strong>\u201d checkbox under the deployment stage in your pipeline.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37291\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/4Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"1222\" height=\"641\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/4Power-Platform-Pipelines.jpeg 1222w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/4Power-Platform-Pipelines-300x157.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/4Power-Platform-Pipelines-1024x537.jpeg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/4Power-Platform-Pipelines-768x403.jpeg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/4Power-Platform-Pipelines-660x346.jpeg 660w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/4Power-Platform-Pipelines-380x200.jpeg 380w\" sizes=\"(max-width: 1222px) 100vw, 1222px\" \/><\/p>\n<p>Once the above config is done, now further the approval process we will define in Power Automate.<\/p>\n<p>You need to use \u201c<strong>When an action is performed<\/strong>\u201d as the trigger to automate the process. The category should be <strong>Power Platform Pipelines <\/strong>and the action should be <strong>OnPreDeploymentStarted.<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37290\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/5Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"627\" height=\"231\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/5Power-Platform-Pipelines.jpeg 627w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/5Power-Platform-Pipelines-300x111.jpeg 300w\" sizes=\"(max-width: 627px) 100vw, 627px\" \/><\/p>\n<p>Next, you need to retrieve the deployment stage from the pipelines.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37289\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/6Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"631\" height=\"193\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/6Power-Platform-Pipelines.jpeg 631w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/6Power-Platform-Pipelines-300x92.jpeg 300w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/p>\n<p>Now we need to define approvals in <a href=\"https:\/\/www.inogic.com\/services\/microsoft-power-platform\/microsoft-power-automate\/\" target=\"_blank\" rel=\"noopener\">Power Automate<\/a> for admin to approve the deployment. You can add all the important details like Pipeline Name, Solution Name, Scheduled Deployment Time, etc. in the details for the approver to approve the deployment by looking at the details of the deployment.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37288\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/7Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"600\" height=\"567\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/7Power-Platform-Pipelines.jpeg 600w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/7Power-Platform-Pipelines-300x284.jpeg 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Now based on the approval process response we will add a condition to Approve the deployment or Decline the deployment.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37287\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/8Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"605\" height=\"165\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/8Power-Platform-Pipelines.jpeg 605w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/8Power-Platform-Pipelines-300x82.jpeg 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/p>\n<p>There is an OOB unbound action that you can use to update the Pre-Deployment Step status. It has the below set of values<\/p>\n<p>Pending \u2013 10<\/p>\n<p>Completed \u2013 20<\/p>\n<p>Failed \u2013 30<\/p>\n<p>If the deployment is approved then we will update the Pre-Deployment Step Status value to 20 and if the deployment is rejected then we will update the Pre-Deployment Step Status value to 30.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37286\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/9Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"719\" height=\"337\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/9Power-Platform-Pipelines.jpeg 719w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/9Power-Platform-Pipelines-300x141.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/9Power-Platform-Pipelines-660x309.jpeg 660w\" sizes=\"(max-width: 719px) 100vw, 719px\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37285\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/10Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"651\" height=\"330\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/10Power-Platform-Pipelines.jpeg 651w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/10Power-Platform-Pipelines-300x152.jpeg 300w\" sizes=\"(max-width: 651px) 100vw, 651px\" \/><\/p>\n<p>This way approval process has been set up. Now we will go back to the pipeline and start with the deployment process.<\/p>\n<p>Now because we have added an approval process in our pipeline hence it will go into a waiting state after passing all the validation. It will wait for the request to be approved to start the deployment.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37284\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/11Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"1247\" height=\"716\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/11Power-Platform-Pipelines.jpeg 1247w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/11Power-Platform-Pipelines-300x172.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/11Power-Platform-Pipelines-1024x588.jpeg 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/11Power-Platform-Pipelines-768x441.jpeg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/11Power-Platform-Pipelines-660x379.jpeg 660w\" sizes=\"(max-width: 1247px) 100vw, 1247px\" \/><\/p>\n<p>Once the request is approved, we can see the deployment started automatically.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37283\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/12Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"914\" height=\"622\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/12Power-Platform-Pipelines.jpeg 914w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/12Power-Platform-Pipelines-300x204.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/12Power-Platform-Pipelines-768x523.jpeg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/12Power-Platform-Pipelines-660x449.jpeg 660w\" sizes=\"(max-width: 914px) 100vw, 914px\" \/><\/p>\n<p>It will take some time for the solution to be deployed to the QA environment. Once done you will see the last deployed date updated automatically.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-37282\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/13Power-Platform-Pipelines.jpeg\" alt=\"Power Platform Pipelines\" width=\"846\" height=\"618\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/13Power-Platform-Pipelines.jpeg 846w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/13Power-Platform-Pipelines-300x219.jpeg 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/13Power-Platform-Pipelines-768x561.jpeg 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/13Power-Platform-Pipelines-660x482.jpeg 660w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>Automating solution deployments with Power Platform Pipelines brings numerous advantages, ranging from enhanced consistency to time efficiency. Also, using approvals makes it easy for admins to decide whether to approve\/reject the deployment considering risk factors.<\/p>\n<p><a href=\"https:\/\/www.inogic.com\/services\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"alignnone size-full wp-image-37295\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2024\/02\/Microsoft-Power-Platform.gif\" alt=\"Microsoft Power Platform\" width=\"800\" height=\"200\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the dynamic landscape of technology, organizations are constantly seeking efficient ways to deploy solutions seamlessly. Power Platform Pipelines emerge as a powerful tool to automate solution deployments, providing a streamlined approach to managing and delivering applications. It helps ensure consistency, time efficiency, and maintaining version control. Firstly, you need to install the \u201cPower Platform\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2024\/02\/automate-solution-deployments-with-approvals-using-power-platform-pipelines\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1913],"tags":[2835],"class_list":["post-37281","post","type-post","status-publish","format-standard","hentry","category-microsoft-power-platform-services","tag-power-platform-pipelines"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/37281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=37281"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/37281\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=37281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=37281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=37281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}