Claude-skill-registry azure-devops-rest-api
Guide for working with Azure DevOps REST APIs and OpenAPI specifications. Use this skill when implementing new Azure DevOps API integrations, exploring API capabilities, understanding request/response formats, or referencing the official OpenAPI specifications from the vsts-rest-api-specs repository.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/azure-devops-rest-api" ~/.claude/skills/majiayu000-claude-skill-registry-azure-devops-rest-api && rm -rf "$T"
skills/data/azure-devops-rest-api/SKILL.mdAzure DevOps REST API
Overview
This skill provides guidance for working with Azure DevOps REST APIs using the official OpenAPI specifications from the vsts-rest-api-specs repository. It helps with implementing new API integrations, understanding API capabilities, and referencing the correct request/response formats.
Key API Areas
Azure DevOps REST APIs are organized into the following main areas:
Core Services
- core - Projects, teams, processes, and organization-level operations
- git - Repositories, branches, pull requests, commits
- build - Build definitions, builds, and build resources
- pipelines - Pipeline definitions and runs
- release - Release definitions, deployments, and approvals
Work Item & Planning
- wit (Work Item Tracking) - Work items, queries, and work item types
- work - Boards, backlogs, sprints, and team configurations
- testPlan - Test plans, suites, and cases
- testResults - Test runs and results
Package & Artifact Management
- artifacts - Artifact feeds and packages
- artifactsPackageTypes - NuGet, npm, Maven, Python packages
Security & Governance
- graph - Users, groups, and memberships
- security - Access control lists and permissions
- policy - Branch policies and policy configurations
- audit - Audit logs and events
Extension & Integration
- extensionManagement - Extensions and marketplace
- serviceEndpoint - Service connections
- hooks - Service hooks and subscriptions
API Specification Structure
The vsts-rest-api-specs repository is organized by API area and version:
specification/ ├── {api-area}/ (e.g., git, build, pipelines) │ ├── 7.2/ Latest stable version │ │ ├── {area}.json OpenAPI spec file │ │ └── httpExamples/ Example requests/responses │ ├── 7.1/ │ └── ...
Using the Specifications
- Identify the API area - Determine which service area (git, build, wit, etc.) contains the functionality needed
- Select the version - Use the latest version (7.2) unless targeting a specific Azure DevOps Server version
- Review the OpenAPI spec - The main
file contains all endpoints, schemas, and parameters{area}.json - Check httpExamples - Real request/response examples for each endpoint
Implementation Patterns
Pattern 1: Exploring New API Capabilities
When exploring what APIs are available for a specific feature:
- Clone the vsts-rest-api-specs repository to
/tmp/vsts-rest-api-specs - Browse the specification directory for the relevant API area
- Review the OpenAPI spec JSON file for available endpoints
- Check httpExamples for real-world usage patterns
Example workflow:
cd /tmp git clone --depth 1 https://github.com/MicrosoftDocs/vsts-rest-api-specs.git cd vsts-rest-api-specs/specification/git/7.2 # Review git.json for endpoint definitions # Check httpExamples/ for request/response samples
Pattern 2: Implementing a New API Feature
When adding new API functionality to the MCP server:
- Locate the spec: Find the relevant OpenAPI specification
- Review the schema: Understand the request parameters and response format
- Check examples: Review httpExamples for real request/response data
- Create types: Define TypeScript interfaces based on the OpenAPI schema
- Implement handler: Create the feature handler following the repository's feature-based architecture
- Add tests: Write unit tests with mocked responses based on httpExamples
Pattern 3: Understanding Request/Response Formats
When you need to understand the exact format of API requests or responses:
- Navigate to
specification/{area}/{version}/httpExamples/ - Find the relevant endpoint example (e.g.,
)GET_repositories.json - Review both the request parameters and response body structure
- Use this as the basis for creating Zod schemas and TypeScript types
Reference Resources
scripts/
Contains helper utilities for working with the API specifications:
- Clone or update the vsts-rest-api-specs repositoryclone_specs.sh
- Search for specific endpoints across all API specsfind_endpoint.py
references/
Contains curated reference documentation:
- Comprehensive list of all API areas and their purposesapi_areas.md
- Common request/response patterns across APIscommon_patterns.md
- API authentication methods and patternsauthentication.md
Usage Tips
Finding the right API:
- Use the OpenAPI spec's
section to find endpoint URLspaths - Check the
property to understand the API categorytags - Review the
for the internal Azure DevOps method nameoperationId
Understanding schemas:
- All data models are in the
section of the OpenAPI specdefinitions - Look for
properties to follow schema references$ref - Use httpExamples to see actual data structures
Version selection:
- Use version 7.2 for Azure DevOps Services (cloud)
- Check azure-devops-server-{version} folders for on-premises versions
- API versions are additive - newer versions include all older functionality
Integration with This Repository
When implementing features in this MCP server:
- Follow the feature-based architecture: Create features in
src/features/{api-area}/ - Use Zod for validation: Define schemas based on OpenAPI definitions
- Reference the specs: Link to the relevant OpenAPI spec in code comments
- Include examples: Use httpExamples data for test fixtures
- Match naming: Use consistent naming with the Azure DevOps API (e.g.,
,repositoryId
)pullRequestId
Example feature implementation pattern:
// src/features/{api-area}/{operation}/ ├── feature.ts // Core implementation using azure-devops-node-api ├── schema.ts // Zod schemas based on OpenAPI definitions ├── feature.spec.unit.ts // Tests using httpExamples data └── index.ts // Exports