At a glance
| Category | Providers |
|---|---|
| Git | GitHub, GitLab, Bitbucket, Bitbucket Server, Azure DevOps |
| Task management | Linear, Jira Cloud, Jira Server / Data Center, Asana |
| AI coding tools | Claude Code, GitHub Copilot, OpenAI Codex, LiteLLM |
| Authentication | Google, GitHub, GitLab, Microsoft, email/password |
| User provisioning | SCIM 2.0 — Okta, Microsoft Entra ID |
| AI / LLM (analysis backend) | Google Vertex AI, AWS Bedrock, Azure AI Foundry |
Git providers
Navigara analyses commits, pull requests, and repository activity. Read-only access is sufficient for every provider. Add any of these from Settings → Connections → Source control → Add connection.GitHub
Cloud (github.com) and GitHub Enterprise Server. Setup- Settings → Connections → Source control → Add connection → GitHub.
- Install the Navigara GitHub App on the target organization.
- Select the repositories to analyse (or grant access to all).
- Repository contents (read)
- Pull requests (read)
- Metadata (read)
- Repos not showing up: the GitHub App needs to be installed at the org level, not a personal account. Re-run the install flow and pick the right target.
- Enterprise Server: set the instance URL when prompted. The App must be installed on the Enterprise instance, not github.com.
GitLab
GitLab.com and self-hosted (CE/EE). Setup- Settings → Connections → Source control → Add connection → GitLab.
- For self-hosted, enter your GitLab instance URL.
- Authorize via OAuth, or provide a personal/group access token.
read_api,read_repository,read_user
- 401 on self-hosted: confirm the instance URL has no trailing path and that the token has
read_api. - Missing projects: the token or OAuth user must be a member of the projects — group-level tokens only see projects within that group.
Bitbucket
Bitbucket Cloud (bitbucket.org). Setup- Settings → Connections → Source control → Add connection → Bitbucket.
- Create a workspace access token or app password in Bitbucket and paste it.
repository:read,pullrequest:read,account:read
- 403 on pull requests: app passwords require the
pullrequestscope explicitly — regenerate with that box ticked.
Bitbucket Server (self-hosted)
Bitbucket Data Center / Server. Setup- Settings → Connections → Source control → Add connection → Bitbucket Server.
- Enter the instance URL and an HTTP access token.
- Project read + Repository read on each project to analyse.
- TLS errors: ensure the instance certificate chain is trusted by the Navigara deployment. For on-prem, mount your CA bundle.
Azure DevOps
Azure DevOps Services (dev.azure.com). Setup- Settings → Connections → Source control → Add connection → Azure DevOps.
- Authorize via Microsoft Entra ID (recommended) or provide a personal access token.
vso.code,vso.code_status,vso.identity,vso.profile
- Entra ID tenant mismatch: the signed-in user must belong to the same tenant as the Azure DevOps organization. Sign in with a directory user, not a personal Microsoft account.
Task management
Task-tracking connections power Alignment scoring by correlating commits and PRs with the work items they deliver. They are managed from the Task tracking group on the Settings → Connections page.How connecting works
Click Add connection in the Task tracking group and pick a provider. The dialog splits options into two categories:- OAuth — authorizes the connected user’s workspace. Available for Linear and Jira Cloud when an OAuth application is configured for your Navigara deployment (always available on the cloud platform).
- Tokens — a personal access token or API key. Best for self-hosted instances (Jira Server / Data Center), providers without OAuth (Asana), or service accounts. Token credentials are validated against the provider before they are saved.
The setup wizard
The first time you connect a tracker — and any time afterwards via Configure on its row — a short wizard tailors what Navigara ingests:- Scope — sync all teams/projects in the workspace (including ones added later), or only a selected subset. Linear is scoped by team; Jira and Asana by project.
-
Issue-type mapping — place each issue type on the alignment ladder so Navigara knows how work rolls up:
Suggestions are pre-filled from each provider’s hierarchy; adjust as needed.
Tier Meaning Objective Top-level goal (e.g. Linear initiative, Jira epic) Sub-objective A grouping under an objective (e.g. project, parent story) Issue A unit of delivered work that commits map to Ignored Excluded from alignment entirely
Linear
Setup- Settings → Connections → Task tracking → Add connection → Linear.
- Either authorize the Navigara OAuth application (OAuth), or paste a personal API key created under Linear → Settings → Security & access (Tokens).
- Complete the setup wizard — scope by team and confirm the issue-type mapping.
readon issues, projects, and teams
- Issues not linking: Alignment relies on issue identifiers (e.g.
ENG-123) appearing in commit messages, branch names, or PR titles.
Jira Cloud
Setup- Settings → Connections → Task tracking → Add connection → Jira Cloud.
- Either authorize with your Atlassian account (OAuth), or provide the site URL (e.g.
https://acme.atlassian.net), your Atlassian account email, and an API token (Tokens). - Complete the setup wizard — scope by project and confirm the issue-type mapping.
- Browse projects, View issues on each synced project.
- 401: API tokens are created at id.atlassian.com and must be paired with the account email as the username.
Jira (Server / Data Center)
Self-hosted Jira. Setup- Settings → Connections → Task tracking → Add connection → Jira (Server / Data Center).
- Provide your Jira base URL (e.g.
https://jira.acme.corp) and a personal access token. - Complete the setup wizard — scope by project and confirm the issue-type mapping.
- Browse projects, View issues on each synced project.
- 403: the PAT owner needs at least “Browse Projects” permission on every project you intend to sync.
Asana
Setup- Settings → Connections → Task tracking → Add connection → Asana.
- Paste a personal access token created in the Asana developer console.
- Complete the setup wizard — scope by project and confirm the issue-type mapping.
- The token owner must be a member of the projects you intend to sync.
- Missing projects: Asana personal access tokens only see workspaces and projects the token owner belongs to — add them to the project, or use a service-account token with the right membership.
AI coding tools
Navigara measures how your team uses AI coding assistants — cost, tokens, models, and active developers — by ingesting usage telemetry the tools emit over OpenTelemetry (OTLP). Add these from the AI tools group on the Settings → Connections page; each connection mints a write-only ingest token and generates the exact config to drop into the tool.| Tool | How usage arrives |
|---|---|
| Claude Code | Native OTLP — env vars or MDM managed settings |
| GitHub Copilot | Copilot CLI OTLP env vars |
| OpenAI Codex | ~/.codex/config.toml OTLP exporter |
| LiteLLM | Proxy-wide OTel callback (one proxy covers every tool behind it) |
Any plan or license works — we support them all. Ingestion is pure OpenTelemetry, independent of how you pay for the tool. You control what leaves the workstation: by default only usage metadata, with per-tool flags to opt into prompt and tool content.
This is distinct from the AI / LLM section below, which configures the LLM backend Navigara uses to analyze your commits. Here, the AI tools are the subject being measured.
Authentication
How users sign in to Navigara. Multiple methods can be enabled simultaneously; on-prem deployments pick which ones are exposed.- Create an OAuth 2.0 client in Google Cloud Console.
- Add
https://<your-navigara-host>/api/auth/callback/googleas an authorized redirect URI. - Set
GOOGLE_OAUTH_CLIENT_IDandGOOGLE_OAUTH_CLIENT_SECRET.
openid,email,profile
GitHub
Setup- Create an OAuth App under GitHub Developer Settings.
- Set the callback URL to
https://<your-navigara-host>/api/auth/callback/github. - Set
GITHUB_OAUTH_CLIENT_IDandGITHUB_OAUTH_CLIENT_SECRET.
read:user,user:email
GitLab
Setup- Create an OAuth application in GitLab (User → Preferences → Applications, or group-level).
- Set the redirect URI to
https://<your-navigara-host>/api/auth/callback/gitlab. - Set
GITLAB_OAUTH_CLIENT_IDandGITLAB_OAUTH_CLIENT_SECRET.
read_user,openid,email
Microsoft (Entra ID)
Setup- Register an application in Microsoft Entra ID.
- Add
https://<your-navigara-host>/api/auth/callback/microsoftas a redirect URI. - Set
MICROSOFT_OAUTH_CLIENT_IDandMICROSOFT_OAUTH_CLIENT_SECRET.
openid,email,profile,User.Read
Email and password
Disabled by default. SetENABLE_PASSWORD_AUTH=true in the backend environment to expose the email/password form. Intended for local development and isolated on-prem deployments where SSO is not available.
User provisioning (SCIM)
Keep your contributor directory in sync with your identity provider over SCIM 2.0. Your IdP pushes users to Navigara, and role, seniority, and manager metadata flow onto the matching contributors automatically. Navigara implements standard SCIM 2.0; setup steps are provided for Okta and Microsoft Entra ID. See the dedicated SCIM Provisioning page for token setup, IdP configuration, attribute mapping, and troubleshooting.SCIM enriches contributor profiles — it does not grant sign-in access. Users still authenticate through SSO or an invite.
AI / LLM
Navigara uses LLMs for commit analysis, summaries, and AI-generated code detection. Any of the backends below works; we recommend Anthropic Claude models (Opus / Sonnet / Haiku) for the best analysis quality.Google Vertex AI (recommended default)
Native integration. Runs Gemini models directly and Anthropic Claude models via Vertex AI Model Garden. Configurationroles/aiplatform.user.
Claude on Vertex: Anthropic models are only available in specific regions (e.g. us-east5). Navigara handles region routing automatically when a claude-* model is selected.
AWS Bedrock
Connect via Bedrock’s OpenAI-compatible endpoint. Anthropic Claude models are available through Bedrock and are the recommended choice. Configurationbedrock:InvokeModel on the target model and must have the model enabled in that region.
Azure AI Foundry
Foundry exposes Claude under the Anthropic Messages API and OpenAI / GPT models under Azure OpenAI. Use the matching provider for each model family. Anthropic Claude on Foundry/v1/messages to LLM_API_URL — set the URL to the …/anthropic base, not to the full …/anthropic/v1/messages.
OpenAI / GPT on Foundry
.openai.azure.com and .cognitiveservices.azure.com URLs and switches to Azure authentication automatically. Create a deployment in Azure AI Foundry and use the deployment name as LLM_MODEL.
Custom API gateways
If your organization fronts LLM providers behind an API management layer (Azure API Management, AWS API Gateway, internal proxies), useLLM_PROVIDER=anthropic for any Anthropic-Messages-API endpoint and LLM_PROVIDER=openai for any OpenAI-compatible endpoint. The model name is opaque — gateways may expose Claude under custom identifiers.
/v1 in LLM_API_URL — the Anthropic SDK appends /v1/messages itself. A URL ending in /v1 produces /v1/v1/messages and the gateway will return 404.
Troubleshooting
- 401 / 403: verify the API key, and for Vertex AI confirm the service account has
roles/aiplatform.user. - 404 on model: the model must be explicitly enabled/deployed in your cloud account (Bedrock model access, Azure deployment, Vertex Model Garden activation).
- Region errors for Claude on Vertex: Claude models only run in specific Vertex regions. Leave
GOOGLE_LOCATION=globaland Navigara will route correctly. - Slow responses / rate limits: tune
MAX_CONCURRENT_TASKSin the backend to stay within your provider’s quota.

