#ProjectOnline and #AzureDevOps integration using #MicrosoftFlow #Office365 #PPM #AzureBoards #MSProject #PowerPlatform #ProjectManagement

September 7, 2019 at 8:03 pm | Posted in Add-on, Administration, Configuration, Customisation, Functionality, Information, Workflow | Comments Off on #ProjectOnline and #AzureDevOps integration using #MicrosoftFlow #Office365 #PPM #AzureBoards #MSProject #PowerPlatform #ProjectManagement
Tags: , , , , , , ,

I’ve posted quite a few posts for Project Online using Microsoft Flow recently so here is another! The last one was to chase / prompt users for in progress overdue timesheets, if you didn’t see this, here it is: https://pwmather.wordpress.com/2019/08/28/projectonline-and-adaptive-cards-in-microsoftteams-using-microsoftflow-to-chase-users-for-overdue-timesheets-ppm-projectmanagement-msproject-powerplatform-office365/

This time we will look at integrating Office 365 Project Online with Azure DevOps using my favourite Power Platform application Microsoft Flow. The Flow can be seen below:


I have two Project Online Enterprise custom fields to support this process. A new project level text custom field called “Azure DevOps Project” to hold the DevOps project name and a new task level flag field called “Managed In DevOps?” to flag which tasks are managed in DevOps. Project Level field seen here in my test project:


Task Level:


In this example test project, the process has run already for tasks 2 to 6 as you can see the task names have updated with the prefix “DevOps_itemId_{id}_” and here are the test project tasks in Azure DevOps:


When the Flow runs, Task 4 and Task 6 will be added to the backlog as Epics in this example based on the process used in this test Azure DevOps project:


The tasks in the project are also updated with the prefix:


Now we will walkthrough the Flow actions. This is triggered on a schedule, in this example it runs daily, then the first action used is a SharePoint HTTP action to query the Project Reporting API to get the Project details for all Projects linked to the Azure DevOps projects. In this example, the Flow is fixed to one Azure DevOps project but you can have multiple Project Online projects creating tasks in the one Azure DevOps project. For additional DevOps projects, create additional Flows / extend as required.


Then an apply to each action is used as the first action could return multiple projects if there are multiple projects in Project Online that have an Azure DevOps Project custom field value of “Paul Mathers Test Project”. The results from the GetProjectDetails action is passed in, then for each project in the dataset another SharePoint HTTP action is used to query the Project Reporting API to get all tasks for the current project where the task is tagged with “Yes” for the new “Managed in DevOps?” custom field and where the task name doesn’t already have the “DevOps_” prefix. The Project ID is passed into the Uri using the expression: items(‘Apply_to_each_project’)[‘ProjectId’]


Then there is a condition action to check if there is at least 1 task in the results from the GetTasksForDevOps action:


If the condition check is true, the Project is checked out using the Project Online Checkout project action, the project Id is passed in using the expression items(‘Apply_to_each_project’)[‘ProjectId’] then another Apply to each action is used and the output from the GetTasksForDevOps action is passed in:


Two actions will run inside this apply to each action for each task returned in the GetTasksForDevOps action. Inside this apply to each action the Azure DevOps Create a work item action is used. The account name, project and work item type are set and fixed – set the work item type as needed based on the process used in the DevOps project. The title is dynamic using the expression items(‘Apply_to_each_task’)[‘TaskName’]:


There are other properties you can set in the advanced options if required:


The final action inside the Apply to each task action is another SharePoint HTTP action, this time to send a PATCH request to the Project Online CSOM REST API to update the task name. The following expressions are used in the Uri items(‘Apply_to_each_project’)[‘ProjectId’] and items(‘Apply_to_each_task’)[‘TaskId’]. In the Body the task name details are inlcuded, the Id of the newly created work item is passed in from the dynamic content and also the task name using the expression items(‘Apply_to_each_task’)[‘TaskName’]:


Once the apply to each task action is completed, the final action in the true part of the condition action is the Project Online Checkin and publish project action. The project Id is passed in using the expression items(‘Apply_to_each_project’)[‘ProjectId’]Flow9

The account used in the SharePoint connection will need access to to Project Online Reporting API and also edit access to all projects. The account used in the Project Online connection will also need edit access to all projects.

That’s it, another simple no code solution for Office 365 Project Online using Microsoft Flow from the Power Platform. This is a simple example that could be extended a lot based on your requirements but hopefully this will provide you a good starting point or give you some inspiration on how to achieve your integration requirements.

#Project Roadmap #PowerBI report pack with #AzureBoards data #PPM #ProjectManagement #MSProject #Office365 #PowerPlatform #Dynamics365 #CDS #Odata #AzureDevOps

March 16, 2019 at 5:38 pm | Posted in Administration, App, Configuration, Customisation, Functionality, Information, Reporting | 1 Comment
Tags: , , , , , , , , , , ,

This post follows on from my last post where I posted about using Azure DevOps Azure Boards in Project Roadmap, in case that you missed it here is the link: https://pwmather.wordpress.com/2019/03/15/project-roadmap-azuredevops-azureboards-ppm-projectmanagement-msproject-projectonline-office365-powerplatform-cds/

In this post we will cover combining Azure Board data into the Roadmap Power BI report pack I released. Here is the blog on the default Roadmap Report pack if you haven’t seen that yet: https://pwmather.wordpress.com/2019/01/30/project-roadmap-powerbi-report-pack-ppm-projectmanagement-msproject-projectonline-office365-powerplatform-dynamics365/


I covered a similar topic the other week but for combining Project Online data here: https://pwmather.wordpress.com/2019/03/08/project-roadmap-powerbi-report-pack-with-projectonline-data-ppm-projectmanagement-msproject-office365-powerplatform-dynamics365-cds-odata/

With the Power BI Roadmap report set up and loading data from your Roadmap service which includes linked items from Azure Boards, we will now edit that Power BI report to bring in Azure Boards data. Firstly click Get Data > Odata Feed and enter the Azure DevOpps OData API URL like below:



For details on the Azure DevOps OData API in Power BI, see this article: https://docs.microsoft.com/en-us/azure/devops/report/powerbi/access-analytics-power-bi?view=azure-devops

Click OK and sign in as required. In the Navigator window select Projects and WorkItems plus other tables as required:


Click Edit to load the Power Query editor. Edit the queries as needed, such as removing columns, remaining columns etc. but ensure you leave the ProjectId and WorkItemId columns in Projects and WorkItems queries as these are required to join the Azure Boards data with the Roadmap data. Once finished you should have at least 9 queries like below:


Click Close and Apply in the Power Query editor. Set up the relationships between the Projects table and RoadmapRowLinks and WorkItems table and RoadmapItemLinks:


Now update the Roadmap Detail page in the report as needed, as seen below outlined in red, I have included some project and work item level data from my linked Azure Boards Projects and Work Items:


It’s that simple!

#Project Roadmap #AzureDevOps #AzureBoards #PPM #ProjectManagement #MSProject #ProjectOnline #Office365 #PowerPlatform #CDS

March 15, 2019 at 6:26 am | Posted in Add-on, Administration, App, Configuration, Functionality, Information, Reporting | 7 Comments
Tags: , , , , , , , , ,

All of my previous posts on the new Roadmap service for Project has been based on Project Online projects, In this post we take a quick look at using Azure DevOps projects in Roadmap. This post wont go into much detail about the new Roadmap service, only how to use Azure DevOps projects in Roadmap. For details on the Roadmap service see this summary post: https://pwmather.wordpress.com/2019/03/01/project-roadmap-cds-app-overview-ppm-projectmanagement-msproject-projectonline-office365-powerplatfom-dynamics365/

Firstly ensure you have access to a project in Azure DevOps. This project will need work items (Epics, User Stories, Features, Tasks etc.) that have two fields used that might not be standard in your organisation depending on the process used in the project, these are Start Date and Target Date. To do this, for each type of work items that you want to sync in Roadmap, from the Work Items board in the Azure DevOps project, click “New Work Item” then the item such as Epic:


This list of work items might vary depending on which process your project uses, this example project just uses the basic process. When the Epic page loads, click Customize from the Actions menu seen below:


Click New Field:


Then set the option to “Use an existing field” and select “Start Date” and click Add Field:


Repeat this to add “Target Date” then update the layout to move the two new fields where you want them:


Repeat this process for other work items as needed such as Tasks, User Stories or Features depending on what board process your project uses. For example, if your project uses the default Agile process you will just need to update the User Story work item to add these fields. Now with some example Epic work items created in my test Azure DevOps project, each with a start date and target date, I can move over the Roadmap.

I’ve added a new row to my Roadmap for the Azure DevOps project, on the “Connect to a project” menu, I will select “Azure Boards”:


Ensure the Azure DevOps organization URL is correct and validated, then select your project:


Then the Flow connection details will appear:


Sign in if prompted. Then click Connect:


Then search for items to add:


Then click Add. Now the items will be added to the row:


This data will be kept in sync using Microsoft Flow just like the Project Online projects. The Project Online projects Flow runs every 5 minutes by default where as the Azure Board project Flow runs every hour.

In the next post we will look to combine the Azure DevOps Project Board data with the Roadmap data in Power BI.

#Microsoft #Project Roadmap product at a glance #PPM #Office365 #Flow #PowerPlatform #Dynamics365 #Azure #AzureBoards

September 26, 2018 at 4:40 pm | Posted in Functionality, Information | 1 Comment
Tags: , , , , , ,

Following on from the announcements on Monday at Ignite from the Project product group, there was a session today on the Project Home and Roadmap products. For those that missed the post on the announcements, here is a link to the blog post that has some notes around this: https://pwmather.wordpress.com/2018/09/24/microsoft-project-the-future-ignite-ppm-pmot-workmanagement-projectonline-projectmanagement/

In this blog post I will include some screen shots taken from Chris’ session today at Ignite and mention some of the features that Roadmap has. I wont talk about Project Home here as I already blogged about that previously: https://pwmather.wordpress.com/2018/08/20/new-projectonline-project-home-office365-ppm-ui-ux-msproject-fabricui/

So Roadmap is the new product that is planned to be available early 2019. Roadmap is a product that enables organisations to visualise projects from various different tools in one timeline type view. On the first release it will support Project Online projects as well as Azure Board projects (formerly known as VSTS) with a view to supporting other types of projects in later releases such as Planner projects, new Project Service projects etc. To give you some context before we move on, here is a screenshot of a Roadmap from Chris’ slide deck today:


As you can see from the screen show about, each project is a row, each row has a name (free text – not the actual linked project name) and an owner (free select people picker from the the tenant users – not the actual linked project owner). Then in the details you can add tasks from the linked projects. On the timeline you can add key dates. You have full control over the order of the rows, move these up and down as you like using the Move Up and Move Down buttons.

Roadmaps will be created and accessed in the Project Home product, the Create New button in Project Home will contain the Roadmap option once released. This will load a blank canvas pretty much instantly. The roadmaps can be renamed at any time by clicking the name in the top left corner, that loads a Roadmap panel, here you also set the Roadmap owner:


To add a new project,firstly you would use the Add row button, type the name of the row and set the owner for the row. You can then connect the row to a Project Online project or an Azure Boards projects in the first release (more project type support to come later). When connecting a row to a project, firstly select whether it is a Project Online or Azure Boards project, then put the correct URL in for that service. Once connected to that service, you can start typing the name of the project you want to connect to then the list of projects will start to appear for you to select. You then connect to that project (using a Microsoft Flow in the background). You can then use the Add Row Item button with that row selected, that will open the add row items panel. Here you can start typing the names of the tasks you want to add then the list of tasks will appear for you to select. Once you have selected all of the tasks (you see a preview table of selected tasks with start and end dates in the row items panel) you then add those to that row. These will be linked to the source project, so as the data changes in the source project, Microsoft Flow will pick up the changes and update the synced data the Roadmap project row is using in the Roadmap common data service (CDS) database. Part of the Flow seen below:


Tasks in the roadmap can be given a status of either Unset Status, On Track, Potential Problems, At Risk or Done using the task card:


Setting the status will update the task bar on the Roadmap.

Key dates are added to the Roadmap using the Add key date button, this loads a pop to create the key date and set the status (same status options as tasks):


For Roadmaps with large numbers of projects added, you can filter by the row / project owner:


You also have a zoom control to change the zoom of the timeline.

Access to the Roadmap is controlled via the Office 365 Groups via the Roadmap interface, to add users click the Members button and type the users names:


So each Roadmap will get to make use of all the features Office 365 Groups enables such a SharePoint site, SharePoint document library, Shared Inbox, Calendars etc. Using Office 365 Groups means Roadmaps can either be private or public.

That’s is for now, but I’m looking forward to getting access to this!

Before I finish, another interesting slide Chris shared was the Platform one to give an idea of how things are architected (high level):


There are lots of exciting changes happening in Project!

Blog at WordPress.com.
Entries and comments feeds.