Skip to main content

Extract Azure DevOps Pull Request metrics to SQLite and generate PowerBI-compatible CSVs.

Project description

ado-git-repo-insights

CI codecov Python License

Extract Azure DevOps Pull Request metrics to SQLite and generate PowerBI-compatible CSVs.


Quick Start

Choose your path:

I want to... Use
Analyze PRs for my team via Azure DevOps pipelines ADO Extension
Run analysis locally or integrate into custom CI/CD Python CLI

Azure DevOps Extension

The ADO Extension provides a self-contained pipeline task with a built-in PR Insights Dashboard directly in your Azure DevOps project.

Install from Marketplace

What you get:

  • Pipeline task that extracts PR metrics automatically
  • Interactive dashboard in your ADO project navigation
  • No Python installation required
  • PowerBI-compatible CSV exports

Get started: Extension User Guide

Minimal Pipeline Example

variables:
  - group: ado-insights-secrets  # Contains PAT_SECRET

steps:
  - task: ExtractPullRequests@2
    inputs:
      organization: 'MyOrg'
      projects: 'Project1,Project2'
      pat: '$(PAT_SECRET)'

  - publish: $(Pipeline.Workspace)/aggregates
    artifact: aggregates

Python CLI

The Python CLI provides full control for local analysis, custom scripts, and non-ADO CI/CD systems.

pip install ado-git-repo-insights

What you get:

  • Command-line tool for extraction and CSV generation
  • Local dashboard server
  • Configuration file support
  • Works anywhere Python runs

Get started: CLI User Guide

Basic Usage

# Extract PR data
ado-insights extract \
  --organization MyOrg \
  --projects "Project1,Project2" \
  --pat $ADO_PAT \
  --database ./ado-insights.sqlite

# Generate CSVs for PowerBI
ado-insights generate-csv \
  --database ./ado-insights.sqlite \
  --output ./csv_output

# View local dashboard
ado-insights build-aggregates --db ./ado-insights.sqlite --out ./dataset
ado-insights dashboard --dataset ./dataset --open

Documentation

For End Users

Document Description
Extension User Guide Complete setup for ADO Extension users
CLI User Guide Complete setup for Python CLI users
Troubleshooting Common issues and solutions

Reference

Document Description
CLI Command Reference All CLI commands and options
Task Input Reference Extension task configuration
CSV Schema PowerBI-compatible output format
Dataset Contract Dashboard data format specification
Architecture System design and data flow diagrams

Operations

Document Description
Runbook Monitoring, recovery, and operational procedures
Data Retention Storage model and security posture

For Developers

Document Description
Contributing Guide How to contribute to this project
Development Setup Setting up the development environment
Testing Guide Running and writing tests
UI Bundle Sync Dashboard UI synchronization process
Changelog Version history and release notes

Governance

Document Description
Invariants 25 non-negotiable system invariants
Definition of Done Completion criteria for features
Victory Gates Verification checkpoints

Feature Comparison

Feature CLI Extension
Installation pip install ADO Marketplace
Requires Python Yes No (bundled)
Pipeline syntax Script steps Task step
Works outside ADO Yes No
PR Insights Dashboard Local server Built into ADO
Configuration YAML file or CLI args Task inputs
Flexibility Higher Standard

How It Works

  1. Extract — Fetches completed PRs from Azure DevOps REST API
  2. Store — Persists data in SQLite with UPSERT semantics
  3. Generate — Produces PowerBI-compatible CSVs and dashboard aggregates
  4. Visualize — View metrics in the PR Insights Dashboard

The system uses incremental extraction by default (daily) with optional backfill mode to catch late changes (reviewer votes, status updates).

PR Insights Dashboard


Security

  • PAT with Code (Read) scope — Minimum required permission
  • PATs are never logged — Secrets are redacted from all output
  • No secrets stored at rest — Database contains only PR metadata
  • Dashboard access — Requires Build Read permission on the analytics pipeline

Support


License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ado_git_repo_insights-4.0.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ado_git_repo_insights-4.0.0-py3-none-any.whl (117.9 kB view details)

Uploaded Python 3

File details

Details for the file ado_git_repo_insights-4.0.0.tar.gz.

File metadata

  • Download URL: ado_git_repo_insights-4.0.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ado_git_repo_insights-4.0.0.tar.gz
Algorithm Hash digest
SHA256 efb704890f9457dbcae5b0663c659b4e4304835b438e52a8a5d880cff6713811
MD5 bf15a4ea475cab8367a1fe8cf8afd30d
BLAKE2b-256 161c24c1d532c42df09185226fbc8a5e7ad85b40419d2c76db7710fb32a53096

See more details on using hashes here.

Provenance

The following attestation bundles were made for ado_git_repo_insights-4.0.0.tar.gz:

Publisher: release.yml on oddessentials/ado-git-repo-insights

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ado_git_repo_insights-4.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ado_git_repo_insights-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f153b240cbb69210a70fbf1b9dce4287feffec6ed4c1b7cb3d8732ae4f3c513c
MD5 589a88f85e9d2be62fc67816214ffd69
BLAKE2b-256 b89ce6820d7631fef1dd0605cd9f313d7d69967293b0eee14d9ce0fbebc3b950

See more details on using hashes here.

Provenance

The following attestation bundles were made for ado_git_repo_insights-4.0.0-py3-none-any.whl:

Publisher: release.yml on oddessentials/ado-git-repo-insights

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page