<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Giuliano De Luca</title>
    <description>Giuliano De Luca | Blog | Evolution matters |  I'm specialist in Microsoft technologies for software design and development,  I'm focused on Office 365 and SharePoint.</description>
    <link>https://delucagiuliano.com/</link>
    <atom:link href="https://delucagiuliano.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Mon, 15 Jan 2024 10:45:41 +0100</pubDate>
    <lastBuildDate>Mon, 15 Jan 2024 10:45:41 +0100</lastBuildDate>
    <generator>Jekyll v4.0.0</generator>
    
      <item>
        <title>How to set up and use SharePoint Dynamic List Filtering</title>
        <description>&lt;p&gt;
In this video tutorial step-by-step, you will learn how to set up and use #SharePoint dynamic list filtering.
Working with two SharePoint lists or document libraries on a page, this feature allows us to filter items of a list by selecting an item from another list.
&lt;/p&gt;

&lt;p&gt;In the following video tutorial I’ll show you every step to create a custom tab in Microsoft Teams through SharePoint Framework:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/z35VI0S79Fs&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Fri, 01 Apr 2022 10:36:00 +0200</pubDate>
        <link>https://delucagiuliano.com/How-to-set-up-and-use-SharePoint-Dynamic-List-Filtering</link>
        <guid isPermaLink="true">https://delucagiuliano.com/How-to-set-up-and-use-SharePoint-Dynamic-List-Filtering</guid>
        
        <category>SharePoint</category>
        
        <category>Microsoft SharePoint</category>
        
        
        <category>SharePoint</category>
        
        <category>Microsoft SharePoint</category>
        
      </item>
    
      <item>
        <title>How to create custom Tabs in Microsoft Teams</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/how-to-create-custom-tabs-in-microsoft-teams&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/HowToCreateCustomTabsIn MicrosoftTeams.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/HowToCreateCustomTabsIn MicrosoftTeams.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In Microsoft Teams you can create tabs, in every channel of your team extending teams on your needs and increasing the collaboration with your colleagues, for example you can have as a tab power bi,
stream, onenote, excel, powerpoint, and many other applications available in the teams store.
Do you know that you can have your own application available as a tab in teams? this is very great so you can have your user interface, your business logic contained in a tab in microsoft teams, this is pretty powerful, 
you can develop for instance a solution with sharepoint framework and have this application available as a tab in your channel.
Another important pillar in Microsoft Teams are the policies in the teams admin center, which allow you to release your application as a tab to few people or to the entire organization.
&lt;/p&gt;

&lt;p&gt;In the following video tutorial I’ll show you every step to create a custom tab in Microsoft Teams through SharePoint Framework:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/0G8P5sHle9Q&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 16 Nov 2020 23:38:00 +0100</pubDate>
        <link>https://delucagiuliano.com/how-to-create-custom-tabs-in-microsoft-teams</link>
        <guid isPermaLink="true">https://delucagiuliano.com/how-to-create-custom-tabs-in-microsoft-teams</guid>
        
        <category>Teams</category>
        
        <category>Microsoft Teams</category>
        
        <category>SPFx</category>
        
        
        <category>Teams</category>
        
        <category>Microsoft Teams</category>
        
        <category>SPFx</category>
        
      </item>
    
      <item>
        <title>How to use Page Templates in SharePoint</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/how-to-create-personal-apps-in-microsoft-teams&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/HowtousePageTemplates.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/HowtousePageTemplates.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SharePoint page templates are a great way to reuse something already created that saves time.
&lt;/p&gt;

&lt;p&gt;You can easily create a template for your posts or news in your Intranet.
The good practice is to create every template for every news typology highlighting images, text, or videos for instance.
In fact, you can create a template for articles where the most important thing is the text, in this way you can reuse the same page structure already built.&lt;/p&gt;

&lt;p&gt;In the following video tutorial I’ll show you every step to create page templates in SharePoint:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/nlt8DgBe01Q&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Sun, 15 Nov 2020 22:40:00 +0100</pubDate>
        <link>https://delucagiuliano.com/how-to-create-personal-apps-in-microsoft-teams</link>
        <guid isPermaLink="true">https://delucagiuliano.com/how-to-create-personal-apps-in-microsoft-teams</guid>
        
        <category>SharePoint</category>
        
        
        <category>SharePoint</category>
        
      </item>
    
      <item>
        <title>How to create Personal Apps in Microsoft Teams</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/how-to-create-personal-apps-in-microsoft-teams&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/HowToCreatePersonalAppsInTeams.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/HowToCreatePersonalAppsInTeams.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Personal Apps in Microsoft Teams is one of my favourite capability, it allows an organization to provide an App on the left navigation bar of Teams to all members which are part of it. 
&lt;/p&gt;

&lt;p&gt;There are several ways to create a Personal App in Teams, however at this stage I’ll show how to reach this goal by using SharePoint Framework.
SharePoint Framework has been released by Microsoft from a while, it  is development model that allows to extend not only SharePoint but Teams as well.
In fact with SPFx is possible to create just one app that runs on SharePoint and Teams, I love to call this approach &lt;strong&gt;Develop once and reuse twice&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the following video tutorial I’ll show you every step to create a personal app in Teams across SPFx:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/S0QPk4eWQlQ&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 24 Aug 2020 00:17:00 +0200</pubDate>
        <link>https://delucagiuliano.com/how-to-create-personal-apps-in-microsoft-teams</link>
        <guid isPermaLink="true">https://delucagiuliano.com/how-to-create-personal-apps-in-microsoft-teams</guid>
        
        <category>Teams</category>
        
        
        <category>Teams</category>
        
      </item>
    
      <item>
        <title>How to create a SharePoint list from an Excel file</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/How-to-create-a-SharePoint-list-from-an-Excel-file&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/HowToCreateASharePointListFromExcelFile.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/HowToCreateASharePointListFromExcelFile.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The SharePoint List provides several benefits like for instance the ability to have versioning, unique permission per item, workflow across Power Automate, data source for Power Apps, and SharePoint Framework solution just to mention a few of them. 
&lt;/p&gt;

&lt;p&gt;Starting from scratch to create a new list is not ideal when you have already an Excel spreadsheet with your data there.
Check out the video below to see how to reuse an Excel table in order to import data and columns in a new SharePoint list in a few steps.&lt;/p&gt;

&lt;p&gt;Video tutorial step by step:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/-rZz6Ltn30k&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Sat, 08 Aug 2020 15:57:00 +0200</pubDate>
        <link>https://delucagiuliano.com/How-to-create-a-SharePoint-list-from-an-Excel-file</link>
        <guid isPermaLink="true">https://delucagiuliano.com/How-to-create-a-SharePoint-list-from-an-Excel-file</guid>
        
        <category>SharePoint</category>
        
        
        <category>SharePoint</category>
        
      </item>
    
      <item>
        <title>How to enable and use audience targeting on SharePoint</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/How-to-enable-and-use-audience-targeting-on-SharePoint&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/SharePointAudienceTargeting.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/SharePointAudienceTargeting.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SharePoint audience targeting allows you to set a target for your news for instance specific users or groups. 
&lt;/p&gt;

&lt;p&gt;First of all you need to enable the news web part to filter news for the current user, then you have to activate the feature in the settings of the pages library.
Once you have done that, you are able to set the target audience for your news across an extra column in the pages library &lt;strong&gt;Audience&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Check out my video tutorial step by step:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/0oK4If7nQTQ&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 27 Jul 2020 18:28:00 +0200</pubDate>
        <link>https://delucagiuliano.com/How-to-enable-and-use-audience-targeting-on-SharePoint</link>
        <guid isPermaLink="true">https://delucagiuliano.com/How-to-enable-and-use-audience-targeting-on-SharePoint</guid>
        
        <category>SharePoint</category>
        
        
        <category>SharePoint</category>
        
      </item>
    
      <item>
        <title>How to create a newsletter on SharePoint online</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/How-to-create-a-newsletter-on-SharePoint-online&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/SharePointNewsletter.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/SharePointNewsletter.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SharePoint allows you to send a news digest to the users of your tenant by keeping them in the loop. 
&lt;/p&gt;

&lt;p&gt;Across the news web part you can easily define a bunch of news to send via email.&lt;/p&gt;

&lt;p&gt;Check out my video tutorial step by step:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/eqqnGGLjJHo&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Sun, 26 Jul 2020 18:13:00 +0200</pubDate>
        <link>https://delucagiuliano.com/How-to-create-a-newsletter-on-SharePoint-online</link>
        <guid isPermaLink="true">https://delucagiuliano.com/How-to-create-a-newsletter-on-SharePoint-online</guid>
        
        <category>SharePoint</category>
        
        
        <category>SharePoint</category>
        
      </item>
    
      <item>
        <title>How to open multiple instances of Microsoft Teams</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/how-to-open-multiple-instances-of-microsoft-teams&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/TeamsMultipleInstances.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/TeamsMultipleInstances.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Microsoft Teams is a very great tool, however, the massive use of it has highlighted a weak, I'm talking about when you have to switch from an account or a tenant to another, this scenario is quite familiar for a consultant, that has to collaborate with several companies. 
&lt;/p&gt;

&lt;p&gt;The optimal solution to solve this issue it would be running multiple instances of Teams. 
We have different possibilities to achieve our goal, one of them is using the new Microsoft Edge based on Chromium, the second Firefox in combination with an addon and the last but not least Google Chrome.&lt;/p&gt;

&lt;p&gt;Check out my video tutorial step by step with all solutions mentioned:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/xOCJp91EKZ8&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Sun, 14 Jun 2020 23:51:00 +0200</pubDate>
        <link>https://delucagiuliano.com/how-to-open-multiple-instances-of-microsoft-teams</link>
        <guid isPermaLink="true">https://delucagiuliano.com/how-to-open-multiple-instances-of-microsoft-teams</guid>
        
        <category>Teams</category>
        
        <category>Microsoft Teams</category>
        
        
        <category>Teams</category>
        
        <category>Microsoft Teams</category>
        
      </item>
    
      <item>
        <title>How to benefit from an Azure Active Directory dynamic group in SharePoint Framework</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/how-to-benefit-from-an-zure-active-directory-dynamic-group-in-sharepoint-ramework&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/AADDynamicGroup.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/AADDynamicGroup.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dynamic groups are special active directory group where is possible to define rules if these rules are satisfied, users or devices are automatically added.
This is definitely a very useful piece of Azure Active Directory, especially if we think to use them in the context of the Microsoft 365 ecosystem, in fact, it is extremely easy to add dynamic groups in SharePoint, Teams, or OneDrive.
&lt;/p&gt;

&lt;p&gt;There is another use case where dynamic groups are strategically important, changing the game.
If you are used to hosting the SharePoint Framework assets in the CDN of SharePoint App Catalog, there is a specific case where you have issues.&lt;/p&gt;

&lt;p&gt;I’m talking about guests trying to access SPFx solutions whit the configuration above mentioned, in fact, for this casuistic the guest will get access denied for the files stored in the CDN of the SharePoint App Catalog for insufficient permission.
There is a sweet solution for this problem, a dynamic group of all guests in the Tenant, where the rule looks like below:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;(user.userType -eq “Guest”)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is important to say that at least one &lt;a href=&quot;https://azure.microsoft.com/en-us/pricing/details/active-directory/&quot; target=&quot;_blank&quot;&gt;Azure Active Directory P1 license (€5.060 user/month)&lt;/a&gt; is required, but considering all benefits in terms of capabilities that this license brings, money is well invested in my opinion.&lt;/p&gt;

&lt;p&gt;check out my video tutorial:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/9_y0IXH90q4&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Thu, 11 Jun 2020 23:44:00 +0200</pubDate>
        <link>https://delucagiuliano.com/how-to-benefit-from-an-zure-active-directory-dynamic-group-in-sharepoint-ramework</link>
        <guid isPermaLink="true">https://delucagiuliano.com/how-to-benefit-from-an-zure-active-directory-dynamic-group-in-sharepoint-ramework</guid>
        
        <category>Azure</category>
        
        <category>Azure Active Directory</category>
        
        
        <category>Azure</category>
        
        <category>Azure Active Directory</category>
        
      </item>
    
      <item>
        <title>Building a release pipeline on Azure DevOps for Logic Apps</title>
        <description>&lt;p&gt;&lt;a href=&quot;https://delucagiuliano.com/building-a-release-pipeline-on-azure-devops-for-logic-apps&quot;&gt;
    &lt;picture&gt;
        &lt;source srcset=&quot;/assets/img/DevOps-LogicApps.webp&quot; type=&quot;image/webp&quot; /&gt; 
        &lt;img src=&quot;/assets/img/DevOps-LogicApps.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
    &lt;/picture&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Azure DevOps is increasingly used to automate the release of solutions to the cloud.
In this context, I would like to report my recent experience by developing continuous integration and delivery for logic apps, hoping that it will be useful to someone else. 
&lt;/p&gt;

&lt;p&gt;Logic Apps is one of my favorite resource on Azure because is incredible fast, intuitive and easy to use.
My personal opinion is that, Logic Apps works great in those scenarios where a workflow is needed and when more, in general, the business logic is not so complex, in fact, in this use case I prefer to use an Azure Function instead of Logic Apps for performance reason.
you can find more info about Logic Apps &lt;a href=&quot;https://azure.microsoft.com/en-us/services/logic-apps/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;arm-template&quot;&gt;ARM Template&lt;/h3&gt;

&lt;p&gt;Let’s start from what we need in order to deploy an existing or created Azure resource and more specifically in our case a Logic App.
Basically, we need a file where all configurations for our Azure resource are saved, I’m talking about Azure Resource Manager Template or better known as ARM Template.
This is nothing more than a JSON file where various information is contained and in the case of Logic App we will have something like that:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/giuleon/6e76f506e3f91f8f0786c49e0afc9534.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;This Logic App is an HTTP trigger that reads an Azure Key Vault value, put this value in the body of an email and send the email, that’s it.
I decided to include a reference to an Azure Key Vault Secret to this article because I think it should be always used in any kind of architecture, I use always this resource in my solutions to increase security.
In this regard, in order to read the secret value and transfer it to the Logic App, it is necessary to enable &lt;strong&gt;Azure Resource Manager for template deployment&lt;/strong&gt; in the access policy of the key vault, obviously access to the Logic App must be inhibited to those who develop it.&lt;/p&gt;

&lt;picture&gt;
    &lt;source srcset=&quot;/assets/img/LogicAppKeyVault.webp&quot; type=&quot;image/webp&quot; /&gt; 
    &lt;img src=&quot;/assets/img/LogicAppKeyVault.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
&lt;/picture&gt;

&lt;p&gt;On top we have all parameters, then some info like, which trigger is used, name of the Logic App, the location which in my opinion should be parameterized in this way every time I can decide in which region deploy my Logic App, then the business logic and at the bottom every connection related to the connectors used.
Very important in the connections section is the id, in my case is:&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nl&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;/subscriptions/3d0b8544-e3c0-42f5-bffd-7577fc2dc70e/providers/Microsoft.Web/locations/westeurope/managedApis/outlook&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;where the guid identify the subscription id of Azure and the location, my goal is to have a template that I can reuse always and in any case, so that means for every Azure subscription.
In order to do that the id should be built as below:&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nl&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;[concat(subscription().id, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/', 'outlook')]&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;in doing so the id will be taken dynamically from the Azure subscription where I am logged in.
However that’s not all, in fact, there is another JSON file that contains the parameters used in the template, as best practice we should have a parameter JSON file for every environment, in order to differentiate the values.
Here how looks like mine:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/giuleon/00efbeed61b8cb84eb8930c005741960.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;There are 4 parameters, logic app name, logic app location, the URL connection for the outlook connector and the URL of my secret in the Key Vault.&lt;/p&gt;

&lt;h3 id=&quot;azure-devops&quot;&gt;Azure DevOps&lt;/h3&gt;

&lt;p&gt;We are now ready to configure continuous integration and delivery on Azure DevOps.
My repository contains only JSON files, more specifically the main JSON file with the Logic App’s business logic and additional files to handle parameters in different environments, let’s go to the pipelines now.
All I need to do, is set up the release pipeline because basically I have nothing to build, in fact, I have already the ARM template ready to deploy in Azure.
Below my simple release pipeline:&lt;/p&gt;

&lt;picture&gt;
    &lt;source srcset=&quot;/assets/img/LogicAppCD01.webp&quot; type=&quot;image/webp&quot; /&gt; 
    &lt;img src=&quot;/assets/img/LogicAppCD01.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
&lt;/picture&gt;

&lt;p&gt;and here my super complex release pipeline tasks:&lt;/p&gt;

&lt;picture&gt;
    &lt;source srcset=&quot;/assets/img/LogicAppCD02.webp&quot; type=&quot;image/webp&quot; /&gt; 
    &lt;img src=&quot;/assets/img/LogicAppCD02.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
&lt;/picture&gt;

&lt;picture&gt;
    &lt;source srcset=&quot;/assets/img/LogicAppCD03.webp&quot; type=&quot;image/webp&quot; /&gt; 
    &lt;img src=&quot;/assets/img/LogicAppCD03.png&quot; alt=&quot;Giuliano De Luca | Blog | delucagiuliano.com&quot; /&gt;
&lt;/picture&gt;

&lt;p&gt;Recapping what I have done in the configuration, I added an Azure Resource Group Deployment and I configured the following parameters:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Display name&lt;/li&gt;
  &lt;li&gt;Azure subscription (Where to deploy the Logic App)&lt;/li&gt;
  &lt;li&gt;Action&lt;/li&gt;
  &lt;li&gt;Resource group (Where is contained the Logic App)&lt;/li&gt;
  &lt;li&gt;Location&lt;/li&gt;
  &lt;li&gt;Template location&lt;/li&gt;
  &lt;li&gt;Template&lt;/li&gt;
  &lt;li&gt;Template parameters&lt;/li&gt;
  &lt;li&gt;Deployment mode (Incremental deployment)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now taking back to the URL of before:&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nl&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'outlook')]&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The reason why I replaced hardcoded values with dynamic values is easy to figure out, in fact, directly from the Azure Resource Group Deployment task I can define the subscription Id, resource group, location, and all these values are read in the JSON during the deploy, but in this case I prefer to use the existing paramater in order to freely decide where to deploy the logic app.&lt;/p&gt;

&lt;p&gt;Source code of the solution on my GitHub repo:
&lt;a href=&quot;https://github.com/giuleon/LogicApps-DevOps&quot; target=&quot;_blank&quot;&gt;https://github.com/giuleon/LogicApps-DevOps&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Video:&lt;/p&gt;
&lt;div class=&quot;embed-responsive embed-responsive-16by9&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/W-vnmmr1rnc&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Sun, 26 Apr 2020 00:12:00 +0200</pubDate>
        <link>https://delucagiuliano.com/building-a-release-pipeline-on-azure-devops-for-logic-apps</link>
        <guid isPermaLink="true">https://delucagiuliano.com/building-a-release-pipeline-on-azure-devops-for-logic-apps</guid>
        
        <category>DevOps</category>
        
        <category>ARM</category>
        
        <category>Azure Functions</category>
        
        
        <category>DevOps</category>
        
        <category>ARM</category>
        
        <category>Azure Logic Apps</category>
        
      </item>
    
  </channel>
</rss>
