PlannerTaskDownload is a web application built with Next.js and Microsoft Graph API that allows authenticated users to download a list of tasks from a Microsoft Planner plan in CSV format. The application is ideal for developers or administrators who want to quickly extract tasks from a Microsoft Planner tenant.
- Authentication via Azure Active Directory (Azure AD)
- Access to Microsoft Planner plans within the tenant
- Download selected tasks in CSV format
- Node.js (version 14 or higher)
- An Azure AD account with access to Microsoft Planner
- A registered app in Azure AD with the necessary permissions
- Sign in to the Azure Portal with your credentials.
- Go to Azure Active Directory > App registrations and register a new application.
- Configure the API permissions for your app:
- Microsoft Graph:
Group.Read.All
(Delegated)offline_access
User.Read
- Microsoft Graph:
- Grant admin consent for the API permissions.
- Set up the redirect URI as
http://localhost:3000/api/auth/callback/azure-ad
.
Clone this repository to your local environment:
git clone https://github.com/your-github-username/PlannerTaskDownload.git cd PlannerTaskDownload 3. Install Dependencies Ensure you have Node.js installed and then install the project dependencies with npm:
bash Copy code npm install
Create a .env.local file in the root of the project with the following content:
NEXT_PUBLIC_APP_DISPLAY_NAME=PlannerTaskDownload
NEXT_PUBLIC_APP_CLIENT_ID=your_azure_client_id
NEXT_PUBLIC_APP_TENANT_ID=your_azure_tenant_id
AZURE_AD_CLIENT_SECRET=your_azure_client_secret
NEXTAUTH_SECRET=your_nextauth_secret
Start the application in development mode:
npm run dev The app will be available at http://localhost:3000
Authenticate via Azure AD. Select a Planner plan from the available options. Download the associated tasks in CSV format by clicking the "Download Tasks in CSV" button. Contributing We welcome contributions! If you would like to contribute, follow these steps:
This was just simple base for my development team at https://github.com/3FESTO, we need it in our custom application...
Feel free to contact us if you wanna go deeper on 3D PRINTING! Cheers, Michele Miky Monti