Azure DevOps Endpoint
Azure DevOps REST API endpoint implementation for connecting to Azure DevOps organizations. Provides HTTP client access and pipeline-related API operations for migration scenarios.
The Azure DevOps Endpoint is a critical component of the Azure DevOps Migration Tools that facilitates seamless connectivity between your migration processes and Azure DevOps organizations. This endpoint leverages the Azure DevOps REST API to provide comprehensive access to projects, work items, and other Azure DevOps resources.
topPurpose and Use Cases
The Azure DevOps Endpoint serves several key purposes in migration scenarios:
- Source and Target Connectivity: Acts as both source and destination endpoint for migrating data between Azure DevOps organizations
- Work Item Migration: Enables the transfer of work items, including their history, attachments, and relationships
- Project-Level Operations: Provides access to project-specific configurations and settings
- Authentication Management: Handles secure authentication using Personal Access Tokens (PAT)
- API Integration: Offers a standardized interface for interacting with Azure DevOps REST APIs
Options
topBehaviour
The Azure DevOps Endpoint exhibits the following key behaviors:
- Connection Pooling: Maintains efficient HTTP connections to minimize overhead during bulk operations
- Rate Limiting Compliance: Automatically handles Azure DevOps API rate limits to prevent throttling
- Error Handling: Provides robust error handling with retry mechanisms for transient failures
- Reflected Work Item Tracking: Uses custom fields to track migrated items and prevent duplicates
Best Practices
When configuring and using the Azure DevOps Endpoint, consider these best practices:
- Security: Use Personal Access Tokens with minimal required permissions
- Organization URLs: Always include the full organization URL (e.g.,
https://dev.azure.com/myorganization/
) - Project Scope: Ensure the specified project exists and is accessible with the provided credentials
- Custom Fields: Configure the ReflectedWorkItemIdField to match your organization’s custom field setup
- Network Considerations: Ensure firewall and proxy settings allow access to Azure DevOps services
Limitations
Be aware of these limitations when using the Azure DevOps Endpoint:
- API Rate Limits: Subject to Azure DevOps API throttling policies
- Permission Dependencies: Requires appropriate permissions on both source and target organizations
- Network Dependencies: Requires stable internet connectivity for cloud-based Azure DevOps
- Custom Field Requirements: May require custom fields to be pre-configured in target organizations
Samples
topSample
Sample
{
"MigrationTools": {
"Version": "16.0",
"Endpoints": {
"#KEY#": {
"EndpointType": "AzureDevOpsEndpoint",
"AccessToken": "jklsadhjksahfkjsdhjksahsadjhksadhsad",
"AuthenticationMode": "AccessToken",
"Organisation": "https://dev.azure.com/xxx/",
"Project": "myProject",
"ReflectedWorkItemIdField": "Custom.ReflectedWorkItemId"
}
}
}
}
Defaults
topClassic
Classic
{
"$type": "AzureDevOpsEndpointOptions",
"AuthenticationMode": "AccessToken",
"AccessToken": "jklsadhjksahfkjsdhjksahsadjhksadhsad",
"Organisation": "https://dev.azure.com/xxx/",
"Project": "myProject",
"ReflectedWorkItemIdField": "Custom.ReflectedWorkItemId"
}
Metadata
topSchema
This is the JSON schema that defines the structure and validation rules for this configuration.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://devopsmigration.io/schema/schema.endpoints.azuredevopsendpoint.json",
"title": "AzureDevOpsEndpoint",
"description": "Azure DevOps REST API endpoint implementation for connecting to Azure DevOps organizations. Provides HTTP client access and pipeline-related API operations for migration scenarios.",
"type": "object",
"properties": {
"accessToken": {
"description": "Personal Access Token (PAT) or other authentication token for accessing the Azure DevOps organization. Required for API authentication.",
"type": "string"
},
"authenticationMode": {
"description": "Authentication mode to use when connecting to Azure DevOps. Typically uses AccessToken for modern Azure DevOps organizations.",
"type": "string"
},
"enabled": {
"description": "Will be used if enabled",
"type": "boolean"
},
"endpointEnrichers": {
"description": "missing XML code comments",
"type": "array"
},
"name": {
"description": "missing XML code comments",
"type": "string"
},
"organisation": {
"description": "URL of the Azure DevOps organization (e.g., \"https://dev.azure.com/myorganization/\"). Must include the full organization URL.",
"type": "string"
},
"project": {
"description": "Name of the Azure DevOps project within the organization to connect to. This is the project that will be used for migration operations.",
"type": "string"
},
"reflectedWorkItemIdField": {
"description": "Name of the custom field used to store the reflected work item ID for tracking migrated items. Typically \"Custom.ReflectedWorkItemId\".",
"type": "string"
}
}
}
In this article
Project Information
Azure DevOps Marketplace
Maintainer
Created and maintained by Martin Hinshelwood of nkdagility.com
Getting Support
Community Support
The first place to look for usage, configuration, and general help.
Commercial Support
We provide training, ad-hoc support, and full service migrations through our professional services.
Azure DevOps Migration Services