Skip to content

Conversation

@ewega
Copy link
Contributor

@ewega ewega commented Jan 5, 2026

⚠️ Pre Checklist

Please complete ALL items in this checklist, and remove before submitting

  • I have read through the Contributing Documentation.
  • I have added relevant tests.
  • I have added relevant documentation.
  • I will add labels to the PR, such as pr-type/bug-fix, pr-type/feature-development, etc.

Summary

This PR adds a new copilot data-source plugin that ingests GitHub Copilot organization-level adoption metrics and ships a Grafana Adoption dashboard powered by tool-layer tables.

Key capabilities in this branch:

  • New connection + scope APIs (create/update/test Copilot connections; org-level scopes)
  • Collectors for Copilot REST endpoints:
    • Billing summary (used for “Test Connection”)
    • Seat assignments (pagination)
    • Daily adoption metrics (incremental collection, clamped to GitHub’s rolling 100-day window)
  • Extractor that materializes tool-layer tables for dashboarding:
    • org daily metrics (active/engaged users, suggestions/acceptances, chat usage, seat totals/active)
    • editor/language breakdown metrics
    • seat assignment snapshots
  • Error handling for common GitHub responses (403/404/422/429, including Retry-After)
  • Includes migrations + tests (unit + e2e dataflow fixtures)

Does this close any open issues?

#8664

Screenshots

image image

Other Information

TODOs:

  • More robust testing
  • GitHub Copilot logo
  • Renaming all instances of copilot to gh-copilot

Eldrick Wega added 30 commits December 5, 2025 15:30
Add .specify/ directory with:
- memory/constitution.md: Apache DevLake project constitution v1.0.0
  - Plugin Independence principle
  - Three-Layer Data Model (Raw/Tool/Domain)
  - Test-Driven Development requirements
  - Migration-First Schema Changes
  - Apache Compliance requirements
- templates/: spec, plan, tasks, checklist, agent-file templates
- scripts/powershell/: automation scripts for feature workflows
Add GitHub Copilot agent mode definitions:
- .github/agents/: Agent configurations (specify, plan, tasks, etc.)
- .github/prompts/: Prompt files linking to agents

These enable /speckit.* commands in VS Code Copilot for
Spec-Driven Development workflow.
Research for building a GitHub Copilot DevLake plugin:

- copilot_api_research.md: API endpoint documentation
- copilot_api_actual_responses.md: Live API test results (octodemo org)
- copilot_implementation_strategy.md: Option B (repo-level) approach
- copilot_plugin_spec.md: Full plugin specification
- copilot_research_summary.md: Research findings summary

Key decisions:
- Org/team-level metrics (not per-user) for privacy
- Time-based before/after correlation with DORA metrics
- Implementation date configuration for impact analysis
- Three-phase MVP approach

Ready for Spec-Driven Development implementation.
…tegy documents

- Created `copilot_api_actual_responses.md` to document actual API responses and key metrics.
- Developed `copilot_api_research.md` summarizing API endpoints, usage metrics, and authentication requirements.
- Established `copilot_implementation_strategy.md` outlining the strategy for repository/project-level analysis.
- Drafted `copilot_plugin_spec.md` detailing the plugin's specifications, data models, and API endpoints.
- Compiled `copilot_research_summary.md` to summarize findings and decisions made during the research phase.
Implements REST endpoints for Copilot connections and scopes, plus a Test Connection helper against the GitHub billing endpoint with friendly error handling.
Adds stateful collectors for /copilot/metrics and /copilot/billing/seats, plus extractors into tool tables with Retry-After handling and unit/e2e coverage.
Marks Phase 4 (US2) tasks as completed now that collectors/extractor, fixtures, and tests are in place.
Adds Copilot Adoption dashboard panels for active/engaged users, acceptance rate, chat usage, and seat timeline based on _tool_copilot_org_metrics.
Updates quickstart with the Copilot Adoption dashboard name/variables and marks US3 tasks complete.
…and enhance Dockerfile for script execution
Support both top-level arrays and wrapped {seats:[...]} responses; mark Copilot subtasks as CROSS domain type.
@ewega
Copy link
Contributor Author

ewega commented Jan 5, 2026

Please note I used GitHub's SpecKit to assist in developing this (https://github.com/github/spec-kit).

There is a lot of scaffolding for Speckit to make GH Copilot work as expected (prompts/spec files). These will be cleaned up once work is complete

Eldrick Wega and others added 3 commits January 5, 2026 23:07
Link Copilot README to Grafana adoption dashboard JSON

Add upgrade notes/limitations and refresh quickstart

Expand root .dockerignore with common excludes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant