Catalog PyPI
PACKAGE EXPLORERView in registry

ado-git-repo-insights

PyPI

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

Versions collected1
Direct dependencies18From release 101.28.5
Last observed20 Oct, 19:45 UTC

README

Version 101.28.5 documentation

Git Repo Insights

ADO Git Repo Insights

CI Release AI Review Maintained Last Commit

PyPI version Python Python Coverage Python Tests

TypeScript TypeScript Coverage TypeScript Tests

Node.js pnpm Code Style: Prettier Conventional Commits

License Platform PRs Welcome Live Demo

[!NOTE] Python Compatibility: Requires Python 3.12 or later. Uses pandas 3.x.

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 pipelinesADO Extension
Run analysis locally or integrate into custom CI/CDPython 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.

Git Repo Insights 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@3
      inputs:
          organization: "MyOrg"
          projects: "Project1,Project2"
          pat: "$(PAT_SECRET)"

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

ExtractPullRequests pipeline task configuration in Azure DevOps


🐍 Python CLI

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

# Install (recommended)
pipx install ado-git-repo-insights

# Extract → CSV → dashboard
ado-insights extract --organization MyOrg --projects "Project1,Project2" --pat $ADO_PAT --database ./ado-insights.sqlite
ado-insights generate-csv --database ./ado-insights.sqlite --output ./csv_output
ado-insights build-aggregates --db ./ado-insights.sqlite --out ./dataset
ado-insights dashboard --dataset ./dataset --open

Get started: CLI User Guide — covers uv and pip install paths, configuration files, and CI/CD integration.


📚 Documentation

👤 For End Users

DocumentDescription
Extension User GuideComplete setup for ADO Extension users
CLI User GuideComplete setup for Python CLI users
TroubleshootingCommon issues and solutions

📖 Reference

DocumentDescription
CLI Command ReferenceAll CLI commands and options
Task Input ReferenceExtension task configuration
CSV SchemaPowerBI-compatible output format
Dataset ContractDashboard data format specification
ArchitectureSystem design and data flow diagrams

⚙️ Operations

DocumentDescription
RunbookMonitoring, recovery, and operational procedures
Data RetentionStorage model and security posture

🛠️ For Developers

DocumentDescription
Contributing GuideHow to contribute to this project
Development SetupSetting up the development environment
Testing GuideRunning and writing tests
Demo Data VersioningCanonical demo build and parity policy
UI Bundle SyncDashboard UI synchronization process
ChangelogVersion history and release notes

📋 Governance

DocumentDescription
InvariantsNon-negotiable system invariants
Definition of DoneCompletion criteria for features
Verification GatesVerification checkpoints

⚖️ Feature Comparison

FeatureCLIExtension
Installationpip installADO Marketplace
Requires PythonYesNo (bundled)
Pipeline syntaxScript stepsTask step
Works outside ADOYesNo
PR Insights DashboardLocal serverBuilt into ADO
ConfigurationYAML file or CLI argsTask inputs
FlexibilityHigherStandard

⚡ 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).

Comment extraction is opt-in via --include-comments on extract; to cover PR comments for history that predates enabling it, run the one-time backfill-comments subcommand — see the extension guide or CLI guide.

PR Insights Dashboard showing cycle time trends, throughput charts, and reviewer activity


🤖 ML Features (Optional)

The dashboard supports optional ML-powered features: time-series forecasting for cycle time and throughput (zero-config, no API key) and AI insights for bottleneck analysis (requires an OpenAI API key, ~$0.001–0.01 per pipeline run, only aggregated metrics sent — never PR content, identities, or code).

Setup and troubleshooting: Enable ML Features


🛠️ Developer Setup


🔒 Security

PATs use minimum Code (Read) scope, are never logged, and are never persisted at rest. Full posture: docs/SECURITY.md.


💬 Support


📄 License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
101.28.527 Sept 202618

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:45 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:0ee7ffb9e07a126affc219e43ed2787c4589f8dd14172f20b2be01bbcb69f163