commit-grapher reads Azure DevOps Git metadata (commits, branches, PRs) via the REST API. Code is never cloned.
- Sign in to your org:
https://dev.azure.com/{org}(or the olderhttps://{org}.visualstudio.com). - User settings (top-right) β Personal access tokens β New Token.
- Organization: pick the org you want (a PAT is scoped to one org).
- Scopes: Code β Read.
- Create, copy the token.
- In commit-grapher β provider Azure DevOps β username = the organization name β paste the token.
- New URL style: leave
owner_urlblank (defaults tohttps://dev.azure.com/{org}). - Old VSTS style: set
owner_urltohttps://{org}.visualstudio.com.
- New URL style: leave
Reading repos requires a Basic (or higher) access level. A Stakeholder license cannot read Code, so the API redirects to sign-in / returns 401 even if you are the organization owner.
Fix (org owner): Organization Settings β Users β set your access level to Basic (Basic is free for the first 5 users).
| Symptom | Cause | Fix |
|---|---|---|
302 β _signin / redirect to Entra |
PAT rejected β empty/invalid, or Stakeholder license, or org blocks PAT/basic auth | Use a valid Code: Read PAT; upgrade to Basic; check org PAT policy |
401 Unauthorized |
PAT is for a different org, or wrong org name | The username must be the org that owns the PAT |
| Org has 0 Git repos | Projects use Boards/TFVC, not Git | Only Git repos are synced (Boards work items are also pulled, for projects that have repos) |
Organization Settings β Overview β Name, or the first path segment of dev.azure.com/{org}.