Refresh job
Runs all fetch scripts once (Kubernetes CronJob, cron, or LaunchAgent) so feed snapshots stay fresh.
IT Systems hub — analytics, Entra & Intune snapshots, Cursor scripts, and ops links.
Opened as a local file: browsers block fetch to JSON. Run a tiny static server from this folder to load data/analytics.json.
| Display name | UPN | Type | Enabled |
|---|
| Name | OS | Compliance | User | Serial |
|---|
Opened as a local file: browsers block fetch to JSON. Serve this folder over HTTP to load data/snipe-it.json.
| Asset tag | Name | Model | Status | Assigned to |
|---|
| Name | Username | Job title |
|---|
Stale export:
data/slack.json
is older than 3 hours. Run
./scripts/run_dashboard_job.sh fetch_slack_workspace.py
or run the scheduled refresh job
(./scripts/run_dashboard_job.sh refresh)
so counts stay current.
Opened as a local file: browsers block fetch to JSON. Serve this folder over HTTP to load data/slack.json.
| Name | Display name |
|---|
Opened as a local file: browsers block
fetch to JSON. Serve this folder over HTTP to load
data/adobe.json.
| Name | Status | Products |
|---|
Opened as a local file: browsers block
fetch to JSON. Serve this folder over HTTP to load
data/jetbrains.json.
Opened as a local file: browsers block
fetch to JSON. Serve this folder over HTTP to load
data/screaming-frog.json.
Opened as a local file: browsers block
fetch to JSON. Serve this folder over HTTP to load
data/expressvpn.json.
Opened as a local file: browsers block
fetch to JSON. Serve this folder over HTTP to load
data/google-workspace.json.
No users in
data/google-workspace.json.
Run
./scripts/run_dashboard_job.sh fetch_google_workspace.py.
| Name | Status | Super admin | Org unit |
|---|
No groups in
data/google-workspace.json.
Add
admin.directory.group.readonly
to domain-wide delegation, then run
./scripts/run_dashboard_job.sh fetch_google_workspace.py.
| Name | Aliases | Owners | Description |
|---|
Opened as a local file: browsers block fetch to JSON. Serve this folder over HTTP to load data/jira.json.
| Key | Name | Type | Lead | Last issue update |
|---|
Opened as a local file: browsers block
fetch to JSON. Serve this folder over HTTP to load
data/jira.json.
No
itOps
section in
data/jira.json.
Add
JIRA_IT_OPS_PROJECT_KEY=OPS
to
.env, run
./scripts/run_dashboard_job.sh fetch_jira.py, then refresh
(see
env.example).
Opened as a local file: browsers block fetch to JSON. Serve this folder over HTTP to load data/confluence.json.
No
confluence.json
yet. Use the same Atlassian API token as Jira:
./scripts/run_dashboard_job.sh fetch_confluence.py
(see
env.example).
| Key | Name |
|---|
Opened as a local file: browsers block fetch to JSON. Serve this folder over HTTP to load data/atlassian-apps.json.
| App | Plan | Users | Site | URL | Status |
|---|
Runs all fetch scripts once (Kubernetes CronJob, cron, or LaunchAgent) so feed snapshots stay fresh.
Azure AD, Intune, Licenses, Defender → data/analytics.json
Hardware and users → data/snipe-it.json
Member counts → data/slack.json
Users and product profiles → data/adobe.json + data/adobe-report.csv
Account API licenses → data/jetbrains.json + data/jetbrains-report.csv
Screaming Frog licences from Snipe-IT → data/screaming-frog.json
ExpressVPN for Teams licences from Snipe-IT → data/expressvpn.json
Users, groups, licenses → data/google-workspace.json
Projects and IT Ops workload → data/jira.json
Spaces → data/confluence.json
Org workspace apps → data/atlassian-apps.json
| Name | Total | Assigned | Available | Expiring soon | Users |
|---|
No Defender-style data in this file yet. Re-run
python3 scripts/fetch_m365_analytics.py
from the repo that includes the defenderGraph writer, then add optional Graph application permissions from
env.example
(SecurityEvents.Read.All, SecurityIncident.Read.All, IdentityRiskyUser.Read.All) and grant admin consent.
| Incident | Impacted assets | Status | Severity | Created |
|---|
| User | UPN | Risk level | Risk state | Last updated |
|---|
Full triage and hunting stay in security.microsoft.com/incidents (interactive portal). Row links open the incident workspace when Graph returns an id.