MSO_E5_Dev_AutoRenew is a Python application based on Git Actions that uses Microsoft Graph API to activate Microsoft Office 365 E5 Developer Trail membership auto-renewal automatically. This guide will provide you with easy-to-understand steps for setting up and running the application.
- Normal version address: https://github.com/kylierst/MSO_E5_Dev_AutoRenew_REVISION_2
- Thanks to Ken5998 for code improvements and fix job skipping
- A GitHub account
- An existing or new Microsoft Developer E5 account with trial Subscription
- An Azure Portal account
- Basic knowledge of GitHub, Python, and Azure Portal
- Fork the MSO_E5_Dev_AutoRenew repository to your GitHub account.
- Register a new application in Azure Active Directory.
- Select any organization directory, select "Web" for the redirect URL, and enter "http://localhost:53682/" for the redirect URL.
- Save the Application ID and Secret.
- Set application permissions.
- Select the following permissions:
files.read.all
,files.readwrite.all
,sites.read.all
,sites.readwrite.all
,user.read.all
,user.readwrite.all
,directory.read.all
,directory.readwrite.all
,mail.read
,mail.readwrite
,mailboxsetting.read
, andmailboxsetting.readwrite
. - Grant permission for all 13 selected permissions.
- Select the following permissions:
- install rclone in your system. It is required to get refresh token (one time only)
- Execute the command
rclone authorize "onedrive" "id" "secret"
.- Confirm the prompt and save the refresh token.
- id is the Application ID you get it from previous steps
- secret is the Application secret you get it from previous steps
- Install JsonHandle chrome extention and open it. Paste the access_token acquired from previous step in the dialog box and copy the refresh token from it
- Keep Application ID, Secret, Refresh_token handly you will need it in the next step
- Go to the project settings and from the left hand side menu select Secrets and Variables > Actions
- Click New repository secrets. and create three variables and set the value as given below
- Name:
CONFIG_ID
value client_id=r'your applcation_id' (within the quotes) - Name:
CONFIG_KEY
value client_secret=r'your_secret' - Name:
REFRESH_TOKEN
value refresh_token=r'your_refresh_token'
- Name:
- Goto the project setting again and choose Actions menu and scroll down until you see Workflow permissions click Read and write permission option
- Go to your personal settings page on GitHub, select Developer settings > Personal access tokens > Generate new token.
- Set the name to
GITHUB_TOKEN
. - Check the options
repo
,admin:repo_hook
, andworkflow
. - Generate the token.
- Set the name to
- Click on the star button at the top right corner of the page to call it once.
- Click on the Actions tab above to see the log of each run and check if the API is called correctly and if there are any errors.
- The default setting is to run three rounds every six hours from Monday to Friday. You can modify your own crontab to change the frequency and time.
- If you need to modify the API calls, you can check the Graph Explorer at https://developer.microsoft.com/graph/graph-explorer/preview.
- The GitHub Action provides a virtual environment with 2-core CPU, 7 GB RAM memory, and 14 GB SSD hard disk space.
- Each repository can only support 20 concurrent calls.