Skip to main content

GitHub Plugin

Feature Availability
Self-Hosted DataHub
DataHub Cloud

Note: Ask DataHub Plugins is currently in Private Beta. To enable this feature, please reach out to your DataHub customer support representative.

The GitHub Plugin connects Ask DataHub to GitHub via the GitHub MCP server, enabling the AI assistant to browse repositories, review code, raise pull requests, and more — all from within Ask DataHub.

Why Connect GitHub?

With the GitHub plugin enabled, Ask DataHub can:

  • Root-cause data issues — when DataHub assertions detect a problem, trace it back to the source by reviewing recent commits and pull requests that touched the relevant transformation logic or pipeline code.
  • Data development — browse dbt models, inspect pipeline definitions, and raise pull requests to fix issues — all without leaving the chat. Go from detecting a data quality problem to shipping a fix in one conversation.
  • Code exploration — find and inspect transformation logic, configuration files, and pipeline definitions across your repositories to understand how data is produced and transformed.

Example prompts:

  • "Show me recent changes to the ETL pipeline in the data-platform repo"
  • "What PRs were merged this week that touch the revenue model?"
  • "Find the dbt model definition for customer_churn"
  • "Raise a PR to fix the null-handling bug in the orders transformation"

Prerequisites

  • A GitHub account (personal or organization)
  • Admin access to create OAuth Apps in GitHub
  • DataHub Cloud with Ask DataHub Plugins enabled
  • Platform admin access in DataHub to configure the plugin

Admin Setup

The GitHub plugin uses User OAuth authentication — each user authenticates with their own GitHub account. You'll need to create a GitHub OAuth App and configure it in DataHub.

You can create the OAuth App under your organization (recommended) or your personal account:

  • Organization app: Immediately available to all org members, not scoped to just one user's repositories
  • Personal app: Scoped to your personal repositories by default

Step 1: Create OAuth App in GitHub

  1. Open GitHub and navigate to your organization's OAuth Apps page: https://github.com/organizations/<YOUR_ORG>/settings/applications

  1. Click New OAuth App and fill in the application details:
FieldValue
Application nameDataHub AI Plugin (or any name your team will recognize)
Homepage URLhttps://<your-datahub-url>
Authorization callback URLhttps://<your-datahub-url>/integrations/oauth/callback
Callback URL

The Authorization callback URL must match the OAuth Callback URL shown in DataHub exactly (e.g. https://your-org.acryl.io/integrations/oauth/callback). You can copy this URL from the DataHub plugin creation form.

  1. Click Register application

Step 2: Collect Credentials

  1. Copy the Client ID from the app page
  2. Click Generate a new client secret and copy it immediately (it won't be shown again)

Step 3: Create Plugin in DataHub

  1. Navigate to Settings > AI > Plugins in DataHub
  2. Click + Create and select GitHub MCP
  3. Fill in the plugin details:
FieldValue
NameGitHub
DescriptionA description for the plugin
Client IDThe client ID from Step 2
Client SecretThe client secret from Step 2
Default Scopesrepo (required — see below)
  1. Copy the OAuth Callback URL shown in the DataHub form and verify it matches the Authorization callback URL you entered in GitHub in Step 1

Required Scope

You must include repo in the scopes so Ask DataHub can read repository code, commits, and pull requests. Without this scope, the plugin will have very limited functionality.

  1. Optionally add Instructions for the AI Assistant, ensure Enable for Ask DataHub is on, and click Create
Recommended: Add Custom Instructions

The GitHub OAuth App grants access to all repositories the user can see — which can be a lot. We strongly recommend using the Instructions for the AI Assistant field to guide the AI toward the repositories and organizations most relevant to your data team. For example:

"Focus on the acme/data-platform and acme/etl-pipelines repositories. These contain our core data transformation and pipeline code. When looking for dbt models, check acme/dbt-models."

This helps the AI find relevant code faster and avoids searching across unrelated repos.

Option B: Personal Account OAuth App

The steps are the same as above, except navigate to GitHub > Your Profile > Settings > Developer Settings > OAuth Apps instead of organization settings. When creating the app, open both GitHub and DataHub side by side — you'll need to copy the OAuth Callback URL from DataHub into GitHub, and the Client ID/Secret from GitHub into DataHub.

ScopeRequiredAccess
repoYesFull access to repositories (code, PRs, issues)
read:orgNoRead organization data (teams, members)
userNoRead user profile information

User Setup

Navigate to Settings > My AI Settings, find the GitHub plugin, and click Connect. A popup will open asking you to authorize the OAuth App on GitHub. After authorization, you'll be redirected back to DataHub. See the overview for more details.

FAQ

Can I use a personal OAuth App instead of an organization one?

Yes. A personal OAuth App works the same way — the scopes, authorization flow, and plugin configuration are identical. The difference is in management and access:

  • Organization apps are owned by the org and visible to all org admins. Any org member who authorizes the app can access org repositories. This is the recommended approach because it's easier for your team to manage and doesn't depend on a single person's account.
  • Personal apps are tied to your personal GitHub account. They still work — when other users authorize the app, they'll be able to access any repository they personally have access to (including org repos). However, if your account is deactivated, the app stops working.

We recommend organization-level apps for production use. Personal apps are fine for testing or individual use.

Troubleshooting

OAuth Popup Blocked

If the authorization popup doesn't appear, check your browser's popup blocker settings and allow popups from your DataHub instance URL.

Authorization Fails

  • Verify the Authorization callback URL in GitHub matches the OAuth Callback URL shown in DataHub exactly
  • Ensure the Client ID and Client Secret are entered correctly in DataHub
  • For organization apps, ensure the OAuth App is not restricted by organization policies

Limited Repository Access