Example: jorgeasaurus.github.io/IntuneDocsAutomation
A modern web dashboard that automatically tracks and displays the latest Microsoft Intune documentation updates from Microsoft Learn.
- Automated RSS Feed Updates: GitHub Actions workflow downloads RSS data every 6 hours
- Clean, Modern Design: Responsive white/black design optimized for readability
- Smart Categorization: Automatically groups updates by type (Security, Apps, Devices, etc.)
- Table of Contents: Easy navigation with clickable TOC showing category counts
- GitHub Pages Ready: Static site that works perfectly with GitHub Pages
- No CORS Issues: Uses local RSS file instead of external API calls
- Fork or clone this repository
- Push to your GitHub account
- Enable GitHub Actions in your repository settings
- Go to your repository Settings → Pages
- Under Source, select "Deploy from a branch"
- Choose main branch and / (root) folder
- Click Save
- Go to Settings → Actions → General
- Under Workflow permissions, select "Read and write permissions"
- Check "Allow GitHub Actions to create and approve pull requests"
- Click Save
- Go to Actions tab in your repository
- Click on "Update Intune RSS Feed" workflow
- Click Run workflow to trigger the first run manually
The GitHub Actions workflow (.github/workflows/update-rss.yml) automatically:
- Downloads the latest RSS feed from Microsoft Learn
- Validates the XML content
- Checks for changes since the last run
- Commits updated RSS file if changes are detected
- Deploys to GitHub Pages automatically
- Every 6 hours: Automatically checks for updates
- Manual trigger: Can be run manually from Actions tab
- Push trigger: Runs when workflow file is updated
intune-rss.xml: Latest RSS feed datarss-metadata.json: Metadata about the feed (update time, item count, etc.)
Edit the categoryMapping object in index.html:
const categoryMapping = {
'Security & Compliance': ['security', 'compliance', 'baseline'],
'App Management': ['app', 'application', 'store'],
// Add your own categories...
};Modify the cron schedule in .github/workflows/update-rss.yml:
schedule:
# Every 3 hours instead of 6
- cron: '0 */3 * * *'All CSS is embedded in index.html for easy customization. Key classes:
.header: Main title section.table-of-contents: Navigation table of contents.stats: Statistics dashboard.update-item: Individual update cards.category-title: Category headers
To test the HTML page locally:
# Python 3
python -m http.server 8000
# Node.js
npx http-server
# Then visit http://localhost:8000The dashboard displays:
- Table of Contents: Quick navigation with update counts per category
- Statistics: Total updates, categories, latest update month
- Categorized Updates: Grouped by Security, Apps, Devices, etc.
- Update Details: Title, description, date, link to Microsoft Learn
- Auto-refresh: Manual refresh button for latest data
- Check Actions permissions are set to "Read and write"
- Verify GitHub Pages is enabled
- Check the Actions tab for error logs
- Wait for initial workflow run to complete
- Check that
intune-rss.xmlfile exists in repository - View browser console for error messages
- Use a local web server instead of opening HTML file directly
- The GitHub Pages deployment avoids CORS issues entirely
├── .github/
│ └── workflows/
│ └── update-rss.yml # GitHub Actions workflow
├── code.code-workspace # VS Code workspace configuration
├── index.html # Main dashboard page with TOC
├── intune-rss.xml # RSS feed data (auto-generated)
├── rss-metadata.json # Feed metadata (auto-generated)
└── README.md # This file
- Fork the repository
- Create a feature branch
- Make your changes
- Test locally
- Submit a pull request
This project is open source and available under the MIT License.
