Add Azure DevOps / Azure Repos as a first-class Git provider
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 37.4k
- Forks
- 3k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 73
Description
What problem will this feature address?
Dokploy supports GitHub, GitLab, Bitbucket, Gitea, and generic Git repositories, but Azure Repos users currently have to configure a generic Git source manually. This does not provide first-class repository and branch discovery, provider-level credential management, or Azure DevOps push event handling for auto-deploy and watch paths.
Proposed solution
Add Azure DevOps as a Git provider authenticated with a Personal Access Token (PAT):
- Configure an Azure DevOps organization and PAT under Settings → Git Providers
- List accessible Azure Repos across projects using the Azure DevOps REST API 7.1
- List branches and select a repository for Applications and Docker Compose services
- Clone private repositories without persisting credentials in application/compose records
- Support Git submodules and provider sharing/permissions consistently with existing providers
- Handle Azure DevOps
git.pushservice-hook payloads for branch filtering, deployment title/hash, and watch-path evaluation - Add a Drizzle migration, focused tests, and UI for add/edit/select flows
The implementation follows the existing provider architecture and keeps the change scoped to Azure Repos. Preview deployments and Azure DevOps Server/on-prem support are intentionally out of scope for the first iteration.
Security considerations
- PATs are returned only to users allowed to view Git provider secrets.
- Repository clone URLs are validated against
https://dev.azure.com. - Application and Compose records keep repository metadata but not the PAT.
- API errors do not include the PAT.
I am preparing a tested PR against canary and would appreciate maintainer feedback on the scope and naming before it is marked ready for review.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing Git provider architecture and the flows for provider configuration, repository and branch selection, cloning, permissions, and push-event handling. Then trace how Drizzle migrations, focused tests, and the add/edit/select UI are organized. Done means Azure Repos supports PAT-backed discovery, branch selection, secure cloning, submodules, permissions, and git.push handling without storing PATs in application or Compose records.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, typescript
- Domain
- backend-api-design, database, devops, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100