{"id":13230,"date":"2023-04-04T08:30:50","date_gmt":"2023-04-04T15:30:50","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=13230"},"modified":"2023-04-04T08:40:52","modified_gmt":"2023-04-04T15:40:52","slug":"build-a-developer-assist-dashboard-using-teams-toolkit-for-visual-studio-code-v5-0-pre-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/build-a-developer-assist-dashboard-using-teams-toolkit-for-visual-studio-code-v5-0-pre-release\/","title":{"rendered":"Build a developer assist dashboard using Teams Toolkit for Visual Studio Code v5.0 pre-release"},"content":{"rendered":"<p>As developers, we spend most of our time in between Azure DevOps, GitHub, and internal task management tools such as Microsoft Planner. What if we bring all these features together within a dashboard on Microsoft Teams that can be used by all the developers, project managers in your team?<\/p>\n<p>In this tutorial, we cover how to build a developer assist dashboard for Microsoft Teams using Teams Toolkit for Visual Studio Code and integrate GitHub, Azure DevOps, and Planner widgets.<\/p>\n<p>In this project, we will use Teams Toolkit v5 pre-release and we will build a developer assist dashboard tab that will work across Microsoft Teams, Outlook web and Microsoft 365 app. If you are interested in learning more about the updates on Teams Toolkit and v5 pre-release, please Junjie Li&#8217;s blog from last week: <a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/teams-toolkit-for-visual-studio-code-update-march-2023\/\">Teams Toolkit for Visual Studio Code update \u2013 March 2023<\/a><\/p>\n<h2>Get started building a developer assist dashboard with Teams Toolkit<\/h2>\n<p>Let\u2019s get started building a developer assist dashboard using Teams Toolkit for Visual Studio Code v5.0 pre-release. To complete this project, we will follow the steps mentioned below:<\/p>\n<ol>\n<li>Set up and install Teams Toolkit for Visual Studio Code v5.0 pre-release.<\/li>\n<li>Create your first dashboard tab using dashboard template.<\/li>\n<li>Enhance your dashboard by implementing new widgets.<\/li>\n<li>Test and debug your dashboard on Teams, Outlook, and Microsoft 365 app.<\/li>\n<li>Challenge yourself!<\/li>\n<\/ol>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-13248\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash.png\" alt=\"Image dash\" width=\"1584\" height=\"888\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash.png 1584w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash-300x168.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash-1024x574.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash-768x431.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash-1536x861.png 1536w\" sizes=\"(max-width: 1584px) 100vw, 1584px\" \/><\/a><\/p>\n<p>This project is available as a part of the Samples on Teams Toolkit for Visual Studio Code. You can also access to the source code on <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx-Samples\/tree\/dev\/developer-assist-dashboard\">TeamsFx Samples Repository.<\/a><\/p>\n<h2>Step 1: Setup and install Teams Toolkit for Visual Studio Code v5.0 pre-release<\/h2>\n<p>Before starting to build apps with Teams Toolkit for Visual Studio Code, let\u2019s complete the setup and pre-requisites.<\/p>\n<p>Install Teams Toolkit for Visual Studio Code and enable v5.0 pre-release:<\/p>\n<ul>\n<li>Open Visual Studio Code and select extensions, search for Teams Toolkit, and select the arrow on the right side of <strong>Install<\/strong> button and select <strong>Install Pre-Release Version<\/strong>.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-2.png\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-13243\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-2-1024x575.png\" alt=\"Image of how to install Teams Toolkit for Visual Studio Cod pre-release\" width=\"640\" height=\"359\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-2-1024x575.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-2-300x169.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-2-768x432.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-2.png 1317w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<ul>\n<li>If you already have Teams Toolkit installed on Visual Studio Code, select <strong>Switch to Pre-Release Version<\/strong>.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-3.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-13242\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-3.png\" alt=\"Image of switching to pre-release if you already have Teams Toolkit installed\" width=\"724\" height=\"213\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-3.png 724w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-3-300x88.png 300w\" sizes=\"(max-width: 724px) 100vw, 724px\" \/><\/a><\/p>\n<p>Make sure to have Node JS installed. It is recommended to install <a href=\"https:\/\/nodejs.org\/dist\/v18.15.0\/node-v18.15.0-x64.msi\">latest Node JS version 18<\/a>.<\/p>\n<h2>Step 2: Create your first dashboard tab using dashboard tab template<\/h2>\n<p>Once the setup is complete, let\u2019s create a dashboard tab using Teams Toolkit for Visual Studio Code:<\/p>\n<ul>\n<li>Select Teams Toolkit extension on Visual Studio Code, select <strong>Create a new app<\/strong> and then <strong>Create a new Teams app. <\/strong><\/li>\n<li>In the capabilities section, select <strong>Dashboard tab<\/strong>, select <strong>TypeScript<\/strong> as the programming language.<\/li>\n<li>Select a folder to scaffold your project, give a name for your project.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-4.png\"><img decoding=\"async\" class=\"aligncenter wp-image-13241 size-large\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-4-1024x575.png\" alt=\"How to select a folder to create your project and give your project a name\" width=\"640\" height=\"359\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-4-1024x575.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-4-300x169.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-4-768x432.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-4.png 1363w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>When your project is scaffolded, let\u2019s quickly run the dashboard tab and see the default dashboard template that Teams Toolkit provides. Press the <strong>F5<\/strong> key to run your project. When the dashboard tab is deployed to Teams, select <strong>Add<\/strong> to view your dashboard with sample widgets.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-5.png\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-13240\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-5-1024x574.png\" alt=\"When the dashboard tab is deployed to Teams, select Add to view your dashboard with sample widgets.\" width=\"640\" height=\"359\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-5-1024x574.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-5-300x168.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-5-768x431.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-5.png 1430w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h3>Dashboard tab code structure<\/h3>\n<p>Let\u2019s go through the code structure of the dashboard tab that we\u2019ll include our widgets in the next steps.<\/p>\n<ul>\n<li>App configuration: <strong>teamsapp.yml<\/strong> and <strong>teamsapp.local.yml<\/strong><\/li>\n<li>App environment information: <strong>env<\/strong><\/li>\n<li>Frontend code is available under <strong>src\/views <\/strong>inside dashboards, widgets, and styles folders.<\/li>\n<li>Backend code is available under <strong>src <\/strong>inside services and models folders.<\/li>\n<\/ul>\n<h2>Step 3: Enhance your dashboard by implementing new widgets<\/h2>\n<p>Our goal is to create a developer assist dashboard, so that we will bring the most popular developer tools in our dashboard! We will create three new widgets to implement Azure DevOps, GitHub, and Microsoft Graph. The widgets we are building are:<\/p>\n<ol>\n<li>Azure DevOps Work Items widget<\/li>\n<li>GitHub Issues widget<\/li>\n<li>Planner Tasks widget<\/li>\n<\/ol>\n<p>To create each widget, we\u2019ll need a <strong>model<\/strong>, <strong>service, <\/strong>and <strong>widget <\/strong>file in our project.<\/p>\n<h3>Azure DevOps work items widget<\/h3>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/devops-backlog-1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-13256\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/devops-backlog-1.png\" alt=\"Image devops backlog 1\" width=\"1693\" height=\"435\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/devops-backlog-1.png 1693w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/devops-backlog-1-300x77.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/devops-backlog-1-1024x263.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/devops-backlog-1-768x197.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/devops-backlog-1-1536x395.png 1536w\" sizes=\"(max-width: 1693px) 100vw, 1693px\" \/><\/a><\/p>\n<p>Let\u2019s get started creating the first widget and integrate DevOps Work Items.<\/p>\n<h4>Create DevOps model<\/h4>\n<p>Select <strong>src &gt; models<\/strong> folder and create a new file with the name <strong>devOpsModel.ts<\/strong>. Copy the following code in the devOpsModel.ts file: <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx-Samples\/blob\/dev\/developer-assist-dashboard\/src\/models\/devOpsModel.ts\">devOpsModel.ts<\/a><\/p>\n<h4>Create DevOps service<\/h4>\n<p>Select <strong>src &gt; services<\/strong> folder and create a new file with the name <strong>devopsService.ts<\/strong>. In this file, we\u2019ll integrate DevOps API to get the work items from Azure DevOps. Copy the following code in the file to make an HTTP call to DevOps API:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/188a5b82cb0bd43976a0320b1fcced2b<\/p>\n<p>Replace <strong>ORGANIZATION_NAME<\/strong> and <strong>PROJECT_NAME <\/strong>with your DevOps organization and project names. Also, replace <strong>DEVOPS_PERSONAL_ACCESS_TOKEN <\/strong>with your DevOps personal access token for testing purposes.<\/p>\n<p><div class=\"alert alert-success\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Lightbulb\"><\/i><strong>Note<\/strong><\/p>We don\u2019t recommend using DevOps personal access token in production. Consuming personal access token in this sample is for testing purposes only.<\/div><\/p>\n<p>After getting the response from Azure DevOps, retrieve the response value by including the below code snippet inside <strong>try <\/strong>and return <strong>devopsItems<\/strong>:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/bb523bda4cded0b246a5cc70d9b9ca0d<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\"><\/code><\/pre>\n<h4>Create DevOps widget<\/h4>\n<p>Select <strong>src &gt; views &gt; widgets<\/strong> folder and create a new file with the name <strong>DevOpsWidget.tsx<\/strong>. In this file, we\u2019ll build our widget using Fluent UI. Copy the following code in the <strong>DevOpsWidget.tsx<\/strong> file:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/af61ca9fd484693d1eb95cf1dd09bf0e<\/p>\n<p>In DevOpsWidget.tsx:<\/p>\n<ul>\n<li><strong>getData()<\/strong> method is used for getting the data from the DevOps service.<\/li>\n<li><strong>headerContent()<\/strong> is used for customizing the content of the widget header.<\/li>\n<li><strong>bodyContent()<\/strong> is used for customizing the content of the widget body.<\/li>\n<\/ul>\n<p>Finally, let\u2019s style the DevOps widget by creating a CSS file for DevOps. Create a new file with the name <strong>DevOps.css <\/strong> under <strong>src &gt; views &gt; styles <\/strong>folder in your project. Copy the css from the following file: <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx-Samples\/blob\/dev\/developer-assist-dashboard\/src\/views\/styles\/DevOps.css\">DevOps.css<\/a><\/p>\n<h3>GitHub issues widget<\/h3>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/github-issues-1.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-13257\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/github-issues-1.png\" alt=\"Image github issues 1\" width=\"1693\" height=\"670\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/github-issues-1.png 1693w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/github-issues-1-300x119.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/github-issues-1-1024x405.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/github-issues-1-768x304.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/github-issues-1-1536x608.png 1536w\" sizes=\"(max-width: 1693px) 100vw, 1693px\" \/><\/a><\/p>\n<p>Let\u2019s get started creating the second widget to show the GitHub issues. Open the terminal in Visual Studio Code and run the following script in project root:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">npm install octokit<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h4>Create GitHub model<\/h4>\n<p>Select <strong>src &gt; models<\/strong> folder and create a new file with the name <strong>githubIssuesModel.ts<\/strong>. Copy the following code in the githubIssuesModel.ts file: <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx-Samples\/blob\/dev\/developer-assist-dashboard\/src\/models\/githubIssuesModel.ts\">githubIssuesModel.ts<\/a><\/p>\n<h4>Create GitHub service<\/h4>\n<p>Select <strong>src &gt; services<\/strong> folder and create a new file with the name <strong>githubService.ts<\/strong>. In this file, we\u2019ll integrate GitHub API to get the issues from GitHub. Copy the following code in the file to make an HTTP call to GitHub API:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/67d3366f2ff7fd3857ca18e5bca25c68<\/p>\n<p>Replace <strong>GITHUB_PERSONAL_ACCESS_TOKEN <\/strong>with GitHub personal access token for testing purposes. Also replace <strong>OWNER_NAME<\/strong> with your GitHub handle and <strong>REPOSITORY_NAME<\/strong> with the repository you\u2019d like to read the issues.<\/p>\n<p><div class=\"alert alert-success\"><p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Lightbulb\"><\/i><strong>Note<\/strong><\/p>We don\u2019t recommend using GitHub personal access token in production. Consuming personal access token in this sample is for testing purposes only.<\/div><\/p>\n<h4>Create GitHub widget<\/h4>\n<p>Select <strong>src &gt; views&gt;widgets<\/strong> folder and create a new file with the name <strong>GitHubWidget.tsx<\/strong>. In this file, we\u2019ll build our widget using Fluent UI. Copy the following code in the <strong>GitHubWidget.tsx<\/strong> file:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/3b92a83b3cce74514bd64aa032048d62<\/p>\n<p>Finally, let\u2019s style the Github widget by creating a CSS file for GitHub. Create a new file with the name <strong>GitHub.css <\/strong>under <strong>src &gt; views &gt; styles <\/strong>folder in your project. Copy the css from the following file: <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx-Samples\/blob\/dev\/developer-assist-dashboard\/src\/views\/styles\/GitHub.css\">GitHub.css<\/a><\/p>\n<h2>Step 4: Test your dashboard on Teams, Outlook, and Microsoft 365 app<\/h2>\n<p>Before testing your dashboard tab, implement your widgets inside the dashboard. Select <strong>src &gt; views &gt; widgets &gt; dashboards<\/strong> folder and open <strong>SampleDashboard.tsx <\/strong>file. Replace the code with the following code snippet:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/6d77b7f466ba4c58261eefd08a75c1e3<\/p>\n<p>Select <strong>F5<\/strong> to preview your app on Microsoft Teams. When the dashboard tab is deployed to Teams, select <strong>Add<\/strong> to view your dashboard with <strong>DevOps<\/strong> and <strong>GitHub<\/strong> widgets.<a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash2-1.png\"><img decoding=\"async\" class=\"size-full wp-image-13254 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash2-1.png\" alt=\"Image dash2\" width=\"892\" height=\"501\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash2-1.png 892w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash2-1-300x168.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/dash2-1-768x431.png 768w\" sizes=\"(max-width: 892px) 100vw, 892px\" \/><\/a><\/p>\n<p>To debug your app locally on Outlook and Microsoft 365 app, select <strong>.vscode &gt; launch.json <\/strong>file in your project, add the following code snippet under the <strong>configurations<\/strong>:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/01d785b7267595ed75698b3e70503497<\/p>\n<p class=\"prettyprint language-json\">Also add the following code snippet under the <strong>compounds<\/strong>:<\/p>\n<p>https:\/\/gist.github.com\/aycabas\/e7c73115e7f1871d94af5bce3d32d9b9<\/p>\n<p>Select <strong>Run and Debug <\/strong>from the left side bar on Visual Studio Code and select the <strong>Debug <\/strong>button to view all available debugging options.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-7.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-13238\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-7.png\" alt=\"Debug button to view all available debugging options.\" width=\"867\" height=\"487\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-7.png 867w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-7-300x169.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-7-768x431.png 768w\" sizes=\"(max-width: 867px) 100vw, 867px\" \/><\/a><\/p>\n<p>To test your app on Outlook or Microsoft 365 app, select <strong>Debug in Outlook <\/strong>or <strong>Debug in the Microsoft 365 app<\/strong>, Teams Toolkit will initiate your app on Outlook or Microsoft 365 app based on your selection:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-8.png\"><img decoding=\"async\" class=\"aligncenter wp-image-13237 size-full\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-8.png\" alt=\"Teams Toolkit will initiate your app on Outlook or Microsoft 365 app as per your selection.\" width=\"1551\" height=\"1047\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-8.png 1551w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-8-300x203.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-8-1024x691.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-8-768x518.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/03\/Dev-assist-dashboard_image-8-1536x1037.png 1536w\" sizes=\"(max-width: 1551px) 100vw, 1551px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Step 5: Challenge yourself!<\/h2>\n<p>Now that you know the basics of dashboard template and widgets, I challenge you to enhance the dashboard further to make it more interesting.<\/p>\n<p>Build a new widget to integrate Microsoft Planner tasks into your developer assist dashboard. You will need to create a new <strong>model<\/strong>, <strong>service<\/strong>, and <strong>widget<\/strong> files for Planner tasks. You will use Microsoft Graph API in the Planner service to retrieve tasks from the Planner:<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">GET \/planner\/plans\/{plan-id}\/tasks<\/code><\/pre>\n<p><a href=\"https:\/\/aka.ms\/ge\">Graph Explorer<\/a> and <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/planner-overview?view=graph-rest-1.0\">Microsoft Graph documentation<\/a> are the best places to get more information. Comment below if you need further assistance.<\/p>\n<p>This project is available as a part of the Samples on Teams Toolkit for Visual Studio Code. You can also access to the source code on <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx-Samples\/tree\/dev\/developer-assist-dashboard\">TeamsFx Samples Repository.<\/a><\/p>\n<p>Happy coding! \ud83c\udf38<\/p>\n<p>&nbsp;<\/p>\n<p>Special thanks to Junjie Li, Hui Miao, Frank Qian and Ellie Yuan for their collaboration on developer assist dashboard \ud83d\udc9c<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we will cover how to build a developer assist dashboard for Microsoft Teams using Teams Toolkit for Visual Studio Code and integrate GitHub, Azure DevOps, and Planner widgets. <\/p>\n","protected":false},"author":82723,"featured_media":13476,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[128],"tags":[228,194,12,44],"class_list":["post-13230","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-teams","tag-microsoft-365-app","tag-microsoft-planner","tag-outlook","tag-visual-studio-code"],"acf":[],"blog_post_summary":"<p>In this tutorial, we will cover how to build a developer assist dashboard for Microsoft Teams using Teams Toolkit for Visual Studio Code and integrate GitHub, Azure DevOps, and Planner widgets. <\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/13230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/82723"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=13230"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/13230\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/13476"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=13230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=13230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=13230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}