Yandex Tracker Integration
import IdealImage from "@theme/IdealImage"; import Head from "@docusaurus/Head";
TL;DR. Connect Yandex Tracker to PanDev Metrics in about 10 minutes. You will create a service yandex account with administrator rights in the organization, issue an OAuth token with
tracker:readandtracker:writescopes, paste it into Settings → Integrations → Yandex Tracker, and let PanDev Metrics register a webhook on/v1/yandex/webhook/tracker. Audience: admin.
Before you begin
- PanDev Metrics is up and running (cloud workspace or on-prem instance)
- A yandex account with administrator rights in the target Yandex Tracker organization — required because PanDev Metrics creates a webhook on connect
- Yandex Tracker organization id (found in Administration → Organization settings)
- PanDev Metrics backend reachable from Yandex Tracker over HTTPS so the webhook can deliver events to
/v1/yandex/webhook/tracker - An admin role in PanDev Metrics for the target tenant
:::tip Service account
Create a dedicated yandex account, for example pandev-metrics-bot@yandex.ru, and add it to the Yandex Tracker organization with admin rights. Personal accounts work, but a service account keeps automatic webhook activity separate from human history and survives staff turnover.
:::
Step 1 — Prepare the yandex account
Yandex Tracker requires the integration user to belong to the organization and to hold admin rights on the queues you want to track. Admin rights are needed because PanDev Metrics registers a webhook during connect.
- Sign in to tracker.yandex.ru with the organization owner
- Open Administration → Users and invite the service yandex account
- In Administration → Roles, grant the service user the Administrator role for the organization
- Confirm the user has access to every queue that will be synced (queue-level access rules can be stricter than the organization role)
Step 2 — Issue the OAuth token
PanDev Metrics authenticates as the service user with an OAuth token. The token must hold tracker:read and tracker:write scopes — write is required so PanDev Metrics can push IDE-based worklogs.
- Sign in to oauth.yandex.ru with the service account
- Select Register a new application
- Fill in the form:
- Name —
PanDev Metrics - Platform — Web services
- Callback URI —
https://oauth.yandex.ru/verification_code(default for token via verification code)
- Name —
- In Permissions, add:
| Scope | Purpose |
|---|---|
tracker:read | Read queues, issues, comments, worklogs |
tracker:write | Write worklogs for IDE-based time tracking |
- Save the application and open it
- Follow the device authorization flow or paste the URL
https://oauth.yandex.ru/authorize?response_type=token&client_id=<your-client-id>into a browser signed in as the service user - Approve access and copy the token from the URL fragment
The token does not expire by default. Keep it in a secrets manager.
Step 3 — Get the organization id
PanDev Metrics needs the organization id to scope API calls to the correct tenant in Yandex Tracker.
- Open tracker.yandex.ru signed in as the service user
- Go to Administration → Organization settings
- Copy the Organization id value (a number, e.g.
7654321)
Cloud Organization (Yandex 360) and Yandex Cloud Organization use different id formats. PanDev Metrics accepts both — paste the value exactly as displayed.
Step 4 — Connect Yandex Tracker in PanDev Metrics
PanDev Metrics stores the credentials inside the tenant and registers a webhook against Yandex Tracker during this step.
- Open PanDev Metrics and go to Settings → Integrations → Yandex Tracker
- Fill in the form:
- Organization id — value from Step 3
- OAuth token — value from Step 2
- Select Check connection — PanDev Metrics validates credentials and lists the queues available to the service user
- Pick the queues to monitor and select Activate
Once activated, PanDev Metrics registers a webhook on /v1/yandex/webhook/tracker for issue lifecycle and worklog events. No further setup in Yandex Tracker is needed.
Step 5 — Choose what to sync
Fine-tune what flows into PanDev Metrics so the dashboards stay focused.
- Queues — list of queue keys to ingest
- Issue filter — optional Yandex Tracker filter expression, for example
Type: !Epic and Status: !Closed - Worklog mode —
automaticwrites IDE-based time back to Yandex Tracker;read-onlyingests existing worklogs without writing anything - History backfill — set how many days of historical issues and worklogs to pull (default 90 days)
Save the form. The first backfill runs in the background and usually finishes within 10-30 minutes for medium queues.
Verify
Open Settings → Integrations → Yandex Tracker — the tile should show a green Connected badge and the last sync timestamp.
Then open any dashboard with a task-tracker widget and confirm that:
- Recent Yandex Tracker issues appear next to commits
- Issue statuses match Yandex Tracker (Open / In Progress / Resolved)
- IDE time is attributed to issues whose key appears in branch names or commit messages (for example
BACK-123)
To force a fresh poll, select Sync now on the integration tile.
What gets collected
PanDev Metrics pulls a limited, well-defined slice of Yandex Tracker data — no attachments, no comment bodies by default.
| Source | Direction | What is stored |
|---|---|---|
| Issue fields | Pull + webhook | Key, summary, type, status, priority, assignee, author, queue, sprint, tags, components, story points, deadline |
| Status transitions | Webhook /v1/yandex/webhook/tracker | From, to, timestamp, actor — used for cycle time and time-in-status |
| Worklogs | Webhook + pull | Author, start, duration, issue key — used to enrich IDE-based time tracking |
| Sprints | Pull | Sprint id, name, state, start / end dates |
| Users | Pull | Yandex id, display name, email — matched against PanDev Metrics employees |
Attachments and comment bodies are not stored.
Troubleshooting
Check connection fails with `401 Unauthorized`
The OAuth token is wrong, was revoked, or lacks tracker:read / tracker:write scopes. Reissue the token (Step 2) and paste it into the integration form. Confirm the service user is still a member of the organization.
Check connection fails with `403 Forbidden`
The service user is in the organization but lacks the Administrator role on the queues being checked. Open Administration → Roles and grant admin, then Sync now in PanDev Metrics.
Connection works, but webhook events do not arrive
The Yandex Tracker servers cannot reach the PanDev Metrics backend on the /v1/yandex/webhook/tracker endpoint. The backend must be reachable over HTTPS from the public internet. From any host outside your network, run curl -v https://<pandev-host>/v1/yandex/webhook/tracker — it must return HTTP 4xx, not a connection error.
Worklogs do not appear in Yandex Tracker after enabling automatic mode
The token is missing the tracker:write scope. Reissue the token with both tracker:read and tracker:write, then update it in Settings → Integrations → Yandex Tracker.
FAQ
Which Yandex Tracker plans are supported?
PanDev Metrics works with every Yandex Tracker plan — free and paid alike. The integration uses the standard REST API and OAuth flow, both available on all tiers.
What are the minimum permissions?
PanDev Metrics requires the service user to hold the Administrator role in the Yandex Tracker organization. Administrator rights are needed because PanDev Metrics registers a webhook during connect; lower roles cannot register webhooks. Queue access must also be granted on every queue to be synced.
How does worklog sync work?
PanDev Metrics ingests existing Yandex Tracker worklogs and, if automatic mode is on, writes IDE-based time back to issues. Time is attributed to the issue whose key appears in branch names, commit messages, or the IDE context. Worklog events arrive in near real-time via the /v1/yandex/webhook/tracker webhook.
Can I link commits and PRs to Yandex Tracker issues?
Yes. Put the issue key (for example BACK-123) in the branch name, commit message, or pull request title. The git integration extracts the key, PanDev Metrics joins it with Yandex Tracker data, and the issue appears next to the commit on dashboards. This is how PanDev Metrics builds the cost-of-feature view.
Will PanDev Metrics write to Yandex Tracker?
Only in automatic worklog mode, and only worklog records — never issue status, assignee, or comments. In read-only mode no writes happen at all. Most teams start read-only and enable automatic worklog after they trust the IDE-based time tracking.
How long does the OAuth token live?
By default Yandex OAuth tokens do not expire. They stay valid until you revoke the application in oauth.yandex.ru. If you set an expiration policy at the organization level, regenerate the token before expiry and update it in Settings → Integrations → Yandex Tracker.
Can I connect multiple Yandex Tracker organizations?
Yes. Add each one as a separate integration in Settings → Integrations → Yandex Tracker → Add instance. PanDev Metrics scopes data by organization id, so identical queue keys in different organizations do not collide.
Is the API rate-limited?
Yandex Tracker enforces global rate limits per organization. PanDev Metrics paces its calls automatically and falls back to webhook-driven updates when limits approach. Large backfills (over 100k issues) may take a few hours instead of minutes.
Next steps
- Install the JetBrains plugin — capture IDE time per Yandex Tracker issue
- Install the VS Code plugin — same for VS Code, Cursor, and Windsurf
- Connect GitLab — join commits and merge requests with Yandex Tracker issues
Related
- Jira integration — alternative task tracker
- Notion as a task tracker — lightweight option
- GitHub integration — full git ↔ tracker ↔ IDE picture