Skip to content

GitLab, Azure DevOps, and Bitbucket support #17

@haasonsaas

Description

@haasonsaas

Problem

DiffScope is GitHub-only for its Git platform integration (PR comments, GitHub App auth, webhook support). This is a hard blocker for enterprises running GitLab, Azure DevOps, or Bitbucket. Qodo Merge supports all four platforms and uses this as a direct competitive wedge.

Proposed Solution

Phase 1: GitLab

  • GitLab Merge Request API for posting inline comments
  • GitLab webhook receiver for MR events
  • GitLab OAuth/PAT authentication
  • .gitlab-ci.yml example

Phase 2: Bitbucket

  • Bitbucket PR API for inline comments
  • Bitbucket App authentication
  • bitbucket-pipelines.yml example

Phase 3: Azure DevOps

  • Azure DevOps PR API for inline comments (threads)
  • Azure DevOps service hook for PR events
  • Azure Pipelines YAML example

Architecture

  • Abstract the Git platform behind a trait:
    trait GitPlatform {
        async fn post_inline_comment(&self, file: &str, line: u32, body: &str) -> Result<()>;
        async fn post_summary_comment(&self, body: &str) -> Result<()>;
        async fn get_pr_diff(&self, pr_id: &str) -> Result<String>;
        async fn get_pr_files(&self, pr_id: &str) -> Result<Vec<ChangedFile>>;
    }
  • Current GitHub implementation moves behind this trait
  • Platform auto-detected from git remote URL or explicit --platform flag

Competitive Context

Tool GitHub GitLab Azure DevOps Bitbucket
CodeRabbit
Qodo Merge
Bito ✅ (planned)
Sourcery
DiffScope

Priority

Tier 3 — Enterprise requirement. GitLab alone would unlock a large segment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions