Azure DevOps Reports
by @webspeaks
Read Azure DevOps projects, teams, team members, saved queries, and work items securely; run WIQL-based reporting; and export spreadsheet-ready reports with...
clawhub install azure-devops-reportsπ About This Skill
name: azure-devops-reports description: Read Azure DevOps projects, teams, team members, saved queries, and work items securely; run WIQL-based reporting; and export spreadsheet-ready reports with summaries and charts. Use when the user wants Azure DevOps project lists, team lists, team-member lists, saved query results, sprint/work item reporting, WIQL queries, Excel/CSV exports, charts, assignee/state/type breakdowns, or team/project work item analysis. metadata: { "openclaw": { "requires": { "bins": ["node", "python3", "pip3"], "env": [ "AZURE_DEVOPS_ORG", "AZURE_DEVOPS_PAT" ] }, "primaryEnv": "AZURE_DEVOPS_PAT" } }
Azure DevOps Reports
Use this skill for secure, read-focused Azure DevOps reporting.
Configuration
Load credentials from a local .env file stored in this skill directory.
Required variables:
AZURE_DEVOPS_ORGAZURE_DEVOPS_PATOptional defaults:
AZURE_DEVOPS_DEFAULT_PROJECTAZURE_DEVOPS_DEFAULT_TEAMAZURE_DEVOPS_DEFAULT_QUERY_IDAZURE_DEVOPS_OUTPUT_DIRIf required values are missing, ask the user to create or update .env in this skill directory.
Runtime requirements
This skill requires:
pip3xlsxwriterInstall Python dependency once:
pip3 install -r requirements.txt
Safety guarantees
AZURE_DEVOPS_OUTPUT_DIR must resolve inside the skill directoryvso.project and vso.workWorkflow
1. Load config from the skill-local .env file.
2. Resolve project, team, and query id from explicit arguments or configured defaults.
3. Decide whether the request is project-scoped, team-scoped, team-member scoped, saved-query, sprint-scoped, or custom-WIQL.
4. Fetch work item ids via WIQL when filtering is needed.
5. Fetch detailed work item fields.
6. Normalize records for reporting.
7. Default to the configured saved query when no explicit command or query id is provided.
8. Export to JSON or CSV data bundles.
9. Build summary tables for state, assignee, and work item type.
10. Build Excel charts from exported JSON when the user asks for workbook generation.
11. Use project listing, team listing, team-member listing, sprint listing, and saved-query reporting when the user asks in plain language.
Scripts
scripts/projects.js β list projectsscripts/teams.js β list teams in a project and team membersscripts/iterations.js β list team iterations / current sprintscripts/queries.js β list saved queries and inspect a query definitionscripts/workitems.js β run work item queries and normalize resultsscripts/export-report.js β export JSON/CSV data bundlesscripts/build_excel_report.py β generate Excel workbooks with charts from exported JSONExact script usage
Run all commands from the skill directory:
cd /path/to/azure-devops-reports
1) List projects
node scripts/projects.js list
2) List teams in a project
node scripts/teams.js list "Project Name"
3) List members in a team
node scripts/teams.js members "Project Name" "Team Name"
4) List current sprint
node scripts/iterations.js current "Project Name" "Team Name"
5) List all iterations / sprints
node scripts/iterations.js list "Project Name" "Team Name"
6) List saved queries in a project
node scripts/queries.js list --project "Project Name"
7) Get a saved query definition by id
node scripts/queries.js get --project "Project Name" --id "QUERY_GUID"
8) Fetch work items using saved query id
Explicit:
node scripts/workitems.js query-id --project "Project Name" --id "QUERY_GUID"
With defaults from .env:
node scripts/workitems.js query-id
9) List work items closed in the last 7 days
Using the default project from .env:
node scripts/workitems.js closed-last-week
With an explicit project:
node scripts/workitems.js closed-last-week --project "Project Name"
10) Export report data as JSON
Default saved-query export using .env defaults:
node scripts/export-report.js
Explicit saved-query export:
node scripts/export-report.js query-id \
--project "Project Name" \
--id "QUERY_GUID" \
--format json \
--out query-data.json
Explicit sprint summary export:
node scripts/export-report.js sprint-summary \
--project "Project Name" \
--team "Team Name" \
--format json \
--out sprint-summary.json
11) Build Excel workbook from exported JSON
python3 scripts/build_excel_report.py \
--input output/query-data.json \
--output output/query-report.xlsx
Ask ClawBot in plain English
These requests should map to the skill without manual script execution:
show my Azure DevOps projectshow many teams do we have?list all team members in team can you list the sprints?generate the Azure DevOps reportregenerate the excellist all work items closed in last weeksummarize closed items from last weekshow current progress of sprint 07which team member has most open items?References
Read these only if needed:
references/field-mapping.md for normalized field choicesreferences/report-types.md for report presets and chart ideasreferences/api-notes.md for endpoint notes and PAT scope guidanceβοΈ Configuration
Load credentials from a local .env file stored in this skill directory.
Required variables:
AZURE_DEVOPS_ORGAZURE_DEVOPS_PATOptional defaults:
AZURE_DEVOPS_DEFAULT_PROJECTAZURE_DEVOPS_DEFAULT_TEAMAZURE_DEVOPS_DEFAULT_QUERY_IDAZURE_DEVOPS_OUTPUT_DIRIf required values are missing, ask the user to create or update .env in this skill directory.