Dokploy / Dokploy/dokploy

Add Azure DevOps / Azure Repos as a first-class Git provider

Open
#5,261 1 comment 0 reactions 0 assignees View on GitHub

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.push service-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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.