-
Notifications
You must be signed in to change notification settings - Fork 2
feat: Add Azure DevOps as alternative project source provider #628
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
ulrikandersen
wants to merge
8
commits into
feature/extract-project-mapper
Choose a base branch
from
feature/azure-devops-support
base: feature/extract-project-mapper
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
feat: Add Azure DevOps as alternative project source provider #628
ulrikandersen
wants to merge
8
commits into
feature/extract-project-mapper
from
feature/azure-devops-support
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
d0fd954 to
bbb1dcd
Compare
|
|
25463fc to
e2174a3
Compare
Move repository-to-project mapping logic into a dedicated ProjectMapper class. The mapper handles filtering, sorting, and all mapping transformations with generic type support for provider-specific repository types. This prepares the codebase for supporting multiple project source providers by decoupling the mapping logic from the data source implementation.
e2174a3 to
7db919e
Compare
- Add Microsoft Entra ID authentication via next-auth - Implement AzureDevOpsClient for REST API interactions - Add AzureDevOpsProjectDataSource and AzureDevOpsRepositoryDataSource - Create unified IBlobProvider interface for file content fetching - Support binary image files in blob API - Configure via PROJECT_SOURCE_PROVIDER env var (github or azure-devops)
Add comprehensive tests for ProjectMapper, Azure DevOps client, blob providers, and repository data sources. Fix AzureDevOpsError prototype chain to ensure instanceof checks work correctly.
Add provider configuration section explaining how to use either GitHub or Azure DevOps as the project source provider.
7db919e to
cdef838
Compare
Remove duplicated mapping code by having AzureDevOpsProjectDataSource use the shared ProjectMapper class with Azure DevOps-specific URL builders. - Update AzureDevOpsRepositoryWithRefs to extend RepositoryWithRefs - Create azureDevOpsURLBuilders for Azure DevOps URL generation - Reduce AzureDevOpsProjectDataSource from 270 to 57 lines
Microsoft Entra ID access tokens are JWTs that can exceed 2000 characters, which doesn't fit in VARCHAR(255).
b412054 to
3c06370
Compare
3ce2d6b to
8a37284
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
PROJECT_SOURCE_PROVIDERenv varKey Changes
Screenshots
// todoConfiguration
GitHub (default)
Azure DevOps
Open questions/issues