Digital.ai Agility HelperA VS Code extension to manage Digital.ai Agility tickets directly from your editor. View your tickets, open ticket details, create Git branches, and configure status colors — all without leaving VS Code. FeaturesViews (Activity Bar → Digital.ai Agility)
Commands (Command Palette:
|
| Command | Description |
|---|---|
Agility: Configure |
Set up your Agility instance URL and access token |
Agility: Change Member |
Select a team member to filter "My Tickets" view |
Agility: Change Team |
Select a team for the "Team Tickets" view |
Agility: Configure Status Colors |
Customize status badge colors |
Agility: Set Dev in Progress Status |
Choose which status to apply when creating branches |
Create Git Branch |
Create a Git branch from a ticket (format: <type>/<id>-<title>) |
Open in Agility |
Open the selected ticket in your browser |
Refresh |
Refresh the ticket views |
Key Features
- Ticket grouping by status with customizable colors
- Create Git branches from tickets with automatic naming (
story/S-12345-ticket-titleordefect/D-12345-fix-description) - Auto-update ticket status to "Dev in Progress" when creating a branch
- Open ticket details in a rich webview panel with description, acceptance criteria, and more
- Persistent selections — your member and team selections are saved across sessions
Quick Install
From VSIX file
code --install-extension .\agility-helper-<version>.vsix
From Source
git clone <repository-url>
cd agility-helper
npm install
npm run compile
# Press F5 to run in Extension Development Host
Configuration
Open Settings (Ctrl+,) and search for "Agility", or configure via settings.json:
Required Settings
| Setting | Type | Description |
|---|---|---|
agility.instanceUrl |
string |
Your Agility instance URL (e.g., https://www12.v1host.com/YourCompany) |
agility.accessToken |
string |
Your Personal Access Token from Agility |
Optional Settings
| Setting | Type | Default | Description |
|---|---|---|---|
agility.selectedMember |
string \| null |
null |
Team member ID for "My Tickets" view. Set via Agility: Change Member command. |
agility.selectedTeam |
string \| null |
null |
Team ID for "Team Tickets" view. Set via Agility: Change Team command. |
agility.statusConfig |
object |
{} |
Status color and visibility configuration. Auto-populated via Status Configuration view. |
agility.devInProgressStatusId |
string \| null |
null |
(Legacy) Status ID for "Dev in Progress". Use Status Configuration view instead. |
Example settings.json
{
"agility.instanceUrl": "https://www12.v1host.com/YourCompany",
"agility.accessToken": "your-personal-access-token",
"agility.selectedMember": "12345",
"agility.selectedTeam": "6789",
"agility.statusConfig": {
"12345": {
"id": "12345",
"name": "In Development",
"color": "#2ca02c",
"isDevInProgress": true,
"hidden": false
}
}
}
Getting Your Access Token
- Log into your Digital.ai Agility instance
- Go to your profile settings (click your avatar → My Profile)
- Navigate to Applications or API Tokens
- Create a new Personal Access Token
- Copy the token and paste it into the
agility.accessTokensetting
⚠️ Security Note: Your access token is stored in VS Code's settings. Consider using VS Code's Settings Sync exclusions if you sync settings across machines.
Usage
Initial Setup
- Run
Agility: Configurefrom the Command Palette - Enter your Agility instance URL
- Enter your Personal Access Token
- Select a team member for "My Tickets" (or a team for "Team Tickets")
Viewing Tickets
- Click the Digital.ai Agility icon in the Activity Bar
- Your tickets appear grouped by status with color-coded badges
- Click a ticket to open its details in a panel
- Right-click for context menu options (Open in Browser, Create Branch, etc.)
Creating Git Branches
- Right-click a ticket → Create Git Branch
- Or use the Command Palette:
Create Git Branch - The extension will:
- Generate a branch name:
story/S-12345-ticket-titleordefect/D-12345-description - Create and checkout the branch
- Optionally update the ticket status to "Dev in Progress"
- Generate a branch name:
Configuring Status Colors
- Select a team first (required to load statuses)
- Open the Status Configuration view
- Click a status to:
- Change Color — Pick from presets or enter a custom hex color
- Set as Dev in Progress — Mark this status for branch creation
- Toggle Visibility — Hide/show status groups in ticket views
Development
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch mode (auto-recompile on changes)
npm run watch
# Run linter
npm run lint
# Run tests
npm test
Press F5 in VS Code to launch the Extension Development Host.
Packaging
Create a .vsix package for distribution:
npm run compile
npx @vscode/vsce package
This produces agility-helper-<version>.vsix.
Note: Requires Node.js 18.15+ or 20.x. Older versions may fail with
File is not definederrors.
Publishing to VS Marketplace
- Ensure
publisherinpackage.jsonmatches your Marketplace publisher ID - Create a Personal Access Token (PAT) with
ManageandPublishscopes - Publish:
$env:VSCE_PAT = '<your-pat>'
npx @vscode/vsce publish
Troubleshooting
| Problem | Solution |
|---|---|
ReferenceError: File is not defined when packaging |
Upgrade Node.js to 18.15+ or 20.x |
out/extension.js missing |
Run npm run compile and fix any TypeScript errors |
| Tickets not loading | Verify instanceUrl and accessToken are correct |
| Status colors not saving | Ensure you have a team selected first |
| "No member selected" message | Run Agility: Change Member to select a team member |
Project Structure
src/
├── api/ # API services (tickets, members, teams, statuses)
├── commands/ # Command handlers
├── config/ # Configuration service
├── constants/ # Color presets
├── errors/ # Custom error classes
├── models/ # TypeScript interfaces
├── providers/ # Webview and tree providers
├── utils/ # Shared utilities
└── extension.ts # Entry point
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run
npm run lintandnpm run compile - Open a Pull Request
License
MIT — see LICENSE for details.
Contact
Open an issue in this repository for bug reports or feature requests.