Connecting data sources

Connect each tool once, then attach it to any board. All connectors are read-only. This page covers Jira, GitHub, GitLab, Azure DevOps, and the Microsoft Graph org directory.

Two ways to connect

  • From a board (recommended): open a board → Sources tab → Add source. The wizard walks you through Provider → Pick projects → Review & attach, and lets you create a new connection inline and test it.
  • From the global Sources page (/sources): manage all connections and project syncs in one place. Each panel shows which boards use a source and when it last synced.
deckgauge · Add source
JIJira
GHGitHub
GLGitLab
AZAzure DevOps

The Add-source wizard, step 1: choose a provider.

How syncing works

  • Automatic: the worker runs a sync on startup and then every 15 minutes per source.
  • Manual: Refresh now on a board, or Sync All Now / per-provider buttons on /sources.
  • Never destructive: if an item disappears upstream it's marked stale, not deleted.

Jira

What it pulls: epics and issues under the project keys you choose, with changelog history (used for cycle-time and flow metrics).

FieldValue
NameA label for the connection
Atlassian URLhttps://your-org.atlassian.net
EmailThe account email for the API token
API tokenCreate at id.atlassian.com/manage-profile/security/api-tokens (Basic auth = email + token)
Project key(s)e.g. ACME, PAY — one project sync per key
  1. Create an Atlassian API token and copy it.
  2. Add-source → Jira → enter URL, email, token → Test.
  3. Pick the project key(s) to pull; optionally enable worklog sync.
  4. Attach to the board — Jira always feeds issues to the board.

GitHub

What it pulls: pull requests, reviews, commits, workflow runs, deployments, and issues per repo. Powers most speed/flow/quality/AI dashboards.

FieldValue
API base URLDefaults to https://api.github.com; set your GHE URL for GitHub Enterprise
Personal access tokenClassic or fine-grained; needs repo read access (and read:org for org repos). SSO-protected orgs require the PAT to be SSO-authorized.
Repositoryowner/repo — add several at once with bulk-add
Feeds issues to boardCode intelligence
  1. Create a PAT with read access to the repos (authorize SSO if the org requires it).
  2. Add-source → GitHub → paste the token → the wizard lists your repos.
  3. Select repos (or bulk-add) and choose what they feed: board issues and/or code intelligence.
Rate limitsRepos are synced on a hot/warm/cold tier with a shared budget (~4000 requests/hour) and a self-healing backfill on boot, so large orgs stay within GitHub's limits.

GitLab

What it pulls: merge requests (and optionally commits) per project. Supports self-managed GitLab via a custom API URL.

FieldValue
API base URLDefaults to https://gitlab.com/api/v4; set yours for self-managed
Access tokenPersonal/project token with read_api (sent as the PRIVATE-TOKEN header)
Project pathgroup/project
Feed issues to boardFeed MRs to board
  1. Create a GitLab access token with read_api.
  2. Add-source → GitLab → set URL + token → Test → pick the project.
  3. Enable "Feed issues" and/or "Feed MRs" as needed; optionally sync commits.

Azure DevOps

What it pulls: work items per project, plus PRs and commits from the repos you allow (strictly opt-in). Powers boards and ADO intelligence.

FieldValue
Organization URLhttps://dev.azure.com/your-org
Auth methodPAT (token) or BASIC (username + token)
Access tokenADO PAT with read scopes for Work Items, Code, and Build
ProjectThe ADO project name
ReposA specific list (repo1, repo2) or "All repositories"
Feed work items to boardCode intelligence
  1. Create an ADO PAT with the read scopes above.
  2. Add-source → Azure DevOps → set org URL + auth + token → pick the project.
  3. Choose repos to include (code intel is opt-in per repo) and attach.

Microsoft Graph — org directory

Connected per org tree (not per board) to build a people hierarchy. See Org trees. The simplest path needs no app registration:

  1. Open an org tree → Source tab.
  2. Open Microsoft Graph Explorer, sign in, and copy your Access token.
  3. Paste the token and set the Root person (email/UPN) — everyone reporting up to them is imported.
  4. Press Sync now. The token lasts ~1 hour; re-paste to re-sync. (For hands-off syncing, configure an app registration with User.Read.All — see the repo's .env.example.)
No Microsoft?You can also populate an org tree by CSV import — upload a roster of name, email, role, and manager.