Version Control Systems (VCS) Integration v2.0

Version Control Systems (VCS) Integration v2.0

What’s new in v2.0

Ellie now supports three Version Control Systems: GitHub, GitLab, and Azure DevOps Git (ADO).

v2.0 introduces new GitHub and GitLab connectors and removes earlier limitations on using ADO from the Model export flow.

The focus is secure connectivity and end-to-end repository workflows: discover targets, browse structure, commit, and push.

How This Documentation Is Organized

This root page provides a cross-system overview, platform support matrix, core capabilities, user flow, and current limitations. Dedicated deep-dive pages exist for each system:


1. Overview

Ellie connects to your organization’s Git-based repositories to push model-generated artifacts (e.g., SQL from physical models and dbt YAML) directly from the Model page into a chosen repository, branch, and folder path. Users browse repositories/projects and branches, preview structure, and execute a commit-and-push workflow—without leaving Ellie.

  • GitHub (Cloud and Enterprise Server) via GitHub App

  • GitLab (Cloud and Self-Managed) via OAuth (Cloud only) or Access Tokens

  • Azure DevOps Git (ADO) (Azure DevOps Services cloud)

2. Supported Platforms

Platform

Type

Supported

Notes

Platform

Type

Supported

Notes

GitHub

Cloud / Enterprise Server

✅ Yes

GitHub App (Ellie-managed or BYO). Repos, branches, tree browse, commit/push.

GitLab

Cloud / Self-Managed

✅ Yes

Token-based auth for any instance URL; Ellie-managed OAuth for GitLab Cloud only. Projects, branches, tree browse, commit/push via REST (api scope).

Azure DevOps Git (ADO)

Azure DevOps Services (cloud)

✅ Yes

Azure AD app / service principal. Projects, Git repos, branches, browse, push. Azure DevOps Server (on‑prem) not supported.

3. High‑Level Capabilities

3.1 Connection Management (Admin Tools > Connectors)

  • Create a new VCS connection from the Admin Tools > Connectors Page

  • Choose the provider (GitHub, GitLab, ADO).

image1.png
  • Authenticate using the supported method per provider.

image3.png
  • Save connection at the organization level for reuse across Ellie.

Once created:

  • The connection is stored and associated with the organization

  • It can be used across the platform for repository operations

  • Users can attach one or more default projects or repositories to the connection. This repository will then be preselected on the Model Page. 

image21.png
image18.png
  • For each attached repository, users can also select a default branch. This branch will be preselected in the “Push to VCS” dialog. If the selected branch is protected, the dialog will display a notification indicating that it cannot be used for write operations.

image11.png
  • If a preselected branch is protected, Ellie displays a notification that it cannot be used for write operations.

3.2 Repository / Project Discovery

  • Fetch available repositories (GitHub) or projects (GitLab, ADO).

  • View accessible branches for the selected target.

  • Browse the repository tree (folder/file structure).

  • Retrieve branch content context before writes.

This enables Ellie to understand the structure of the target repository before performing any write operations.

3.3 Branch & Repository Tree Access

For a selected repository/project, Ellie supports:

  • List branches and preselect the configured default branch (if set).

  • Select target branch; protected branches warn on write restrictions.

  • Read tree structure for the selected branch and navigate folders/paths.

Note: Ellie reads the repository tree of a branch for navigation and targeting. It does not parse or analyze the internal file contents at this stage.

4. Model-Based File Generation & Push

From the Model page, users can:

  • Generate model-based files, including:

    • SQL files (physical models)

    • dbt YAML configuration files (all model levels)

image6.png
  • Select:

    • Target repository/project

    • Target branch

    • Target folder/path

Screenshot 2026-04-28 at 13.43.02.png
  • Create a commit and push changes directly to the selected branch.

Push workflow includes:

  • file generation from model definitions,

  • file creation in the chosen folder,

  • commit creation

  • push to the target branch.

This enables a seamless, version-controlled workflow anchored in Ellie.

5. Typical User Flow

  1. Admin creates a VCS connection (GitHub, GitLab, or ADO).

  2. User opens the Model page.

  3. User generates SQL and/or dbt YAML files.

  4. User selects repository/project, branch, and target folder.

  5. User confirms push.

  6. Ellie commits and pushes to the selected branch.

6. Current Scope & Limitations (v2.0)

Included focus areas:

  • Secure repository connectivity

  • Branch access and tree browsing

  • Model-driven file generation (SQL, dbt YAML)

  • Commit and push

Not included in v2.0 (candidates for future releases):

  • Pull/Merge Request creation

  • Advanced branch management

  • Webhook synchronization

  • CI/CD pipeline integration (no direct pipeline triggering from Ellie; pipelines can still be triggered externally via repository changes)

  • Conflict resolution workflows

  • UI for repository write-permissions validation

7. System Summaries (Deep-Dives Linked)

GitHub Integration

  • Supports GitHub Cloud and Enterprise Server.

  • Ellie-managed App (Cloud)

  • Bring Your Own App (Cloud & Enterprise)

  • Enables fetching repositories, listing branches, browsing tree, generating files, committing, and pushing.

  • Personal Access Tokens are not supported.

Open full page: “VCS: GitHub Integration”

GitLab Integration

  • Supports GitLab Cloud and Self-Managed instances.

  • Ellie-managed OAuth (Cloud only)

  • Access Tokens: Group (recommended), Project, or Personal

  • api scope required for REST operations (including commit/push).

  • Project scoping optional (by Group ID or Project ID).

Open full page: “VCS: GitLab Integration”

Azure DevOps Git Integration

  • Supports Azure DevOps Services (cloud) via Azure AD app / service principal.

  • Projects, repos, branches, browse, commit/push.

  • v2.0 removes the prior limitation: ADO can now push both SQL and dbt YAML via the same Model export flow across supported scenarios.

  • Azure DevOps Server (on‑prem) not supported.

Open full page: “VCS: Azure DevOps Git Integration”

8. Best Practices

Recommendations

  • Define default repositories/projects and branches in the connection to streamline Model page exports.

  • For GitLab, prefer Group or Project Access Tokens over Personal tokens to align with enterprise governance and stability.

  • For GitHub Enterprise or strict security environments, consider BYO GitHub App to retain full control over permissions and keys.

  • Use protected branches with required approvals; push to feature branches from Ellie, then merge via your standard PR/MR workflows.

9. Security Considerations

  • Server-to-server authentication used where possible (GitHub App model; short-lived installation tokens).

  • GitLab requires api scope because operations are performed via REST API (not raw Git alone).

  • Tokens, app keys, and installation IDs are stored securely and used to generate time-bound access for API calls.