Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>ADO AssistantNew to Visual Studio Code? Get it now.
ADO Assistant

ADO Assistant

Vishal

|
4 installs
| (0) | Free
Copilot Chat participant that summarizes PR commits, manages ADO work items, estimates effort with AI, and syncs to OneNote
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ADO Assistant

A VS Code Copilot Chat extension that helps you manage Azure DevOps work items without leaving your editor. It can summarize PR commits using AI, post comments to work items, update fields and status, estimate effort, and export summaries to OneNote.


Table of Contents

  • How It Works
  • Architecture
  • Prerequisites
  • Setup and Installation
  • Commands
  • Usage Examples
  • Configuration
  • Sharing with Your Team
  • Troubleshooting
  • Project Structure

How It Works

This extension registers a Copilot Chat participant named @ado-assistant. When invoked in the Copilot Chat panel, it:

  1. Connects to Azure DevOps using your Personal Access Token (stored in VS Code SecretStorage).
  2. Fetches PR details and commits via the ADO REST API.
  3. Summarizes commits using Copilot's built-in language model (no separate OpenAI key needed).
  4. Updates work items — comments, scheduling fields, and status — through the Work Item Tracking API.
  5. Queries your assigned work items using WIQL.
  6. Optionally exports summaries to a OneNote page via Microsoft Graph.

The agent also enforces ownership: it will only modify work items assigned to the person whose PAT is configured, preventing accidental changes to someone else's items.


Architecture

┌─────────────────────────────────────────────────────┐
│                     VS Code                         │
│                                                     │
│  ┌──────────────┐       ┌────────────────────────┐  │
│  │ Copilot Chat │──────▶│   @ado-assistant       │  │
│  │   Panel      │       │                        │  │
│  └──────────────┘       │  ┌──────────────────┐  │  │
│                         │  │  Copilot LM API  │  │  │
│                         │  │  (Summarization) │  │  │
│                         │  └──────────────────┘  │  │
│                         │          │             │  │
│                         │  ┌──────────────────┐  │  │
│                         │  │  ADO REST API    │  │  │
│                         │  │  (PR, WI, WIQL)  │  │  │
│                         │  └──────────────────┘  │  │
│                         │          │             │  │
│                         │  ┌──────────────────┐  │  │
│                         │  │ Microsoft Graph  │  │  │
│                         │  │ (OneNote export) │  │  │
│                         │  └──────────────────┘  │  │
│                         └────────────────────────┘  │
└─────────────────────────────────────────────────────┘
                          │
              ┌───────────┼───────────┐
              ▼                       ▼
┌──────────────────────┐  ┌────────────────────┐
│  Azure DevOps        │  │  Microsoft Graph   │
│  (PRs, Work Items)   │  │  (OneNote pages)   │
└──────────────────────┘  └────────────────────┘

Prerequisites

  • VS Code 1.93 or later
  • GitHub Copilot extension installed and active
  • Azure DevOps Personal Access Token with these scopes:
    • Code: Read
    • Work Items: Read and Write
  • Node.js 18 or later (for building from source)

Setup and Installation

Option A: Run in Development Mode

This is the quickest way to try the extension locally.

# Clone or copy the extension folder
cd ado-pr-agent-vscode

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Open in VS Code
code .

# Press F5 to launch the Extension Development Host
# The @ado-assistant participant is now available in Copilot Chat

Option B: Install from a VSIX Package

This is best for sharing with teammates who just want to install and use it.

Building the package:

npm install -g @vscode/vsce
cd ado-pr-agent-vscode
npm install
npm run compile
vsce package

This produces a file named ado-assistant-0.0.1.vsix.

Installing the package:

From the command line:

code --install-extension ado-assistant-0.0.1.vsix

Or through the VS Code UI:

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X)
  3. Click the three-dot menu at the top-right of the panel
  4. Select "Install from VSIX..."
  5. Pick the .vsix file
  6. Restart VS Code when prompted

First-Time Setup

After installation, configure your ADO token:

  1. Open Copilot Chat (Ctrl+Shift+I)
  2. Type @ado-assistant /configure
  3. Paste your ADO Personal Access Token in the secure input box
  4. The token is encrypted and stored in VS Code SecretStorage

To create an ADO PAT:

  1. Navigate to your ADO org URL and go to User Settings > Personal Access Tokens
  2. Click "New Token"
  3. Under scopes, select Code (Read) and Work Items (Read and Write)
  4. Copy the generated token

Verify it works:

@ado-assistant /my-items <your-alias>

You should see a table of your active work items.


Commands

Command What it does
@ado-assistant <PR_ID> Summarize commits for a PR (displays in chat only)
@ado-assistant /summarize <PR_ID> Same as above
@ado-assistant /post <PR_ID> Summarize commits and post the summary as a comment on linked work items
@ado-assistant /update <PR_ID> Update scheduling fields (estimate, remaining, completed, target date) on PR-linked work items
@ado-assistant /wi-update <WI_ID> Update a work item directly by ID — add a comment and update fields
@ado-assistant /status <WI_ID> Change a work item's status
@ado-assistant /pr-status <PR_ID> Change status of all work items linked to a PR
@ado-assistant /my-items <alias> List active work items assigned to a user
@ado-assistant /estimate <PR_ID> Use AI to estimate effort from commit history, optionally apply to linked work items
@ado-assistant /onenote <PR_ID> Summarize a PR and append the summary to a OneNote page
@ado-assistant /configure Set or update your ADO Personal Access Token

Usage Examples

Summarize a PR

@ado-assistant 15268160

The agent fetches the PR, asks how many recent commits to include, and produces a structured summary grouped by category (bug fixes, new features, refactoring, etc.) in plain language.

Post Summary to a Work Item

@ado-assistant /post 15268160

Does the same summarization, then extracts AB# links from the PR and posts the summary as an HTML comment on each linked work item.

Update Work Item Fields

@ado-assistant /update 15268160

Prompts for Original Estimate, Remaining Work, Completed Work, and Target Date. Leave any field blank to skip it. Updates all work items linked to the PR.

Update a Work Item Directly

@ado-assistant /wi-update 37606510

Works with a work item ID instead of a PR. Prompts for a comment and scheduling fields.

Change Status

@ado-assistant /status 37606510

Shows a dropdown with available states: New, Active, Committed, In Review, Resolved, Done, Closed.

AI Effort Estimation

@ado-assistant /estimate 15268160

Analyzes commit history and uses the language model to estimate original effort, completed work, and remaining work in hours. You can choose to apply the estimates to linked work items.

Export to OneNote

@ado-assistant /onenote 15268160

lets you pick a notebook, section, and page, then appends the formatted PR summary.

List Your Work Items

@ado-assistant /my-items your-alias

Displays a table of work items assigned to you that are in New, Active, In Review, or Committed state.


Configuration

VS Code Settings

Open Settings (Ctrl+,) and search for "ado-assistant":

Setting Default Description
ado-assistant.orgUrl (empty) Your Azure DevOps organization URL (e.g. https://dev.azure.com/your-org)
ado-assistant.project (empty) ADO project name
ado-assistant.repo (empty) ADO repository name

Required PAT Scopes

Scope Permission Purpose
Code Read Fetch PR details and commit history
Work Items Read and Write Query, comment on, and update work items

Sharing with Your Team

Share the VSIX File (simplest)

Build the package with vsce package, then send the .vsix file over Teams, email, or a shared drive. Recipients install it with one click.

Push to a Git Repo

Host the source in an ADO or GitHub repo. Teammates clone, run npm install && npm run compile, and press F5.

git init
git add .
git commit -m "ADO Assistant extension"
git remote add origin <your-repo-url>
git push -u origin main

Publish to VS Code Marketplace

For broader distribution (public or org-scoped):

# Create a publisher at https://marketplace.visualstudio.com/manage
vsce login your-publisher-id
vsce publish

To restrict access, set the extension visibility to private and share with your Azure AD tenant on the Marketplace management page.


Troubleshooting

Problem Solution
@ado-assistant does not appear in chat Ensure the extension is installed and VS Code has been reloaded. Check the Extensions panel.
401 Unauthorized from ADO PAT is expired or invalid. Run /configure to set a new one.
403 Forbidden from ADO PAT is missing required scopes. Regenerate with Code:Read and WorkItems:ReadWrite.
400 error when setting Target Date Provide the date as YYYY-MM-DD. The agent auto-converts to full ISO 8601.
"No language model available" GitHub Copilot must be active. Check the Copilot icon in the status bar.
/my-items returns empty results Try using your full display name or alias. The query uses a CONTAINS match.
OneNote sign-in fails Allow the Microsoft authentication provider when prompted. Ensure your account has OneNote access.
"Not authorized — work item not assigned to you" The agent only allows updating work items assigned to the PAT owner. Verify assignment in ADO.

Project Structure

ado-pr-agent-vscode/
├── .vscode/
│   └── launch.json            # Debug configuration (F5)
├── images/
│   └── icon.png               # Extension icon (128x128)
├── src/
│   ├── adoClient.ts           # ADO REST API client (PRs, work items, WIQL)
│   ├── oneNoteClient.ts       # Microsoft Graph client (OneNote export)
│   └── extension.ts           # Chat participant handlers and activation
├── out/                        # Compiled JavaScript (generated by tsc)
├── package.json                # Extension manifest, commands, settings
├── tsconfig.json               # TypeScript configuration
├── LICENSE                     # MIT license
├── .vscodeignore               # Files excluded from the VSIX package
└── README.md                   # This file

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft