Azure DevOps connection issues
Sort out Microsoft sign-in and organisation access, personal access tokens, state mapping and slow updates from Azure DevOps.
Last updated
On this page
Symptoms
- Microsoft sign-in fails, or your organisation isn't listed on "Choose an organization".
- The connect flow says "This connection request expired — start again."
- Work items land in unexpected columns on the mirrored board.
- An assignee change made in Laya doesn't reach Azure DevOps.
- Changes made in Azure DevOps take a while to appear in Laya.
- The connection's health is Degraded or Needs attention.
Likely causes
- You signed in with a personal Microsoft account — Microsoft sign-in only works for work or school accounts.
- The Microsoft account isn't a member of the organisation you're looking for.
- The personal access token has expired, was revoked, or is missing scopes.
- The pending connect request sat for more than about 10 minutes before finishing.
- You expected assignee to push from an imported card — assignee and issue type don't push outbound from imported cards in the current version.
- A stale edit was rejected because the work item changed in Azure DevOps first.
- The Polling toggle is off for this connection.
Fix it
Microsoft sign-in and organisation access
- Personal Microsoft account? Use a token insteadThe connect screen says it directly: "Microsoft sign-in only works for work or school accounts — for a personal-account organization, use a personal access token below." Choose "Advanced — connect with a personal access token instead".
- Create the token with the right scopesIn Azure DevOps: User settings → Personal access tokens → New Token, with scope Work Items (Read & write). For the full feature set, also grant Project & Team (Read, write & manage), Graph (Read) and Identity (Read).
- Organisation missing from the picker?The "Choose an organization" list comes from the organisations your Microsoft account belongs to. Get added to the organisation in Azure DevOps, then reconnect.
- Seeing "This connection request expired — start again."?The pending request is only held for about 10 minutes. Use the "Start again" link and complete the flow in one sitting.
Reauthorise a degraded connection
- Open the connection's Manage pageSettings → integrations → your Azure DevOps connection. Check the health card, Last sync and the last error message.
- Press Refresh credentialsThis re-runs the connect flow. Access tokens normally refresh themselves shortly before expiry, but a revoked grant or a dead PAT needs a full reconnect.
Work items land in unexpected columns
Azure DevOps states map onto Laya's four sync buckets — Queued, In motion, Done, Hold — using each process's own state categories, never hardcoded state names, so custom processes still classify correctly by category. (These sync buckets are distinct from the five status buckets on native Laya boards.) On a master board you can additionally pin a specific external status to a specific column — see Status and field mapping.
- Items in the state "Removed" are never mirrored.
- A mirrored board carries up to 400 work items — very large projects are truncated at that cap.
Assignee changes don't reach Azure DevOps
Where you make the edit matters. On the connected (mirrored) board, assignee edits write straight to the work item — clearing the field unassigns it. But cards imported to a master board do not push assignee or issue-type changes outbound in the current version. Change the assignee on the connected board or in Azure DevOps itself, and it will flow into Laya. More detail: People and assignee matching.
Updates from Azure DevOps are slow
- Check the Polling toggleThe connection's Settings tab has "Polling — Pull changes from Azure DevOps periodically when webhooks are unavailable". When it's off, the background poll skips this connection.
- Press Sync nowOn the board or from the connection's Boards tab — you should see the toast "Synced from Azure DevOps".
- Open the work item's detail panelOpening an item reconciles that item immediately.
- Re-apply an edit that got beaten by a conflictLaya guards writes with the work item's revision, so if Azure DevOps changed the item while your edit was in flight, the stale write is rejected rather than overwriting anything. Wait for the board to refresh, then make the edit again.
Verify the fix
- The health card shows Healthy and Last sync is recent.
- A test edit in Azure DevOps appears in Laya after a Sync now (or the next poll).
- New rows in the connection's Sync log tab end in the Synced state.
If you're still stuck
Email support@laya.net with: the organisation and project names, whether the connection uses Microsoft sign-in or a personal access token, which scopes the token was created with (never include the token itself), the health word and last error from the Manage page, and one failed Sync log row with its expanded error.
Email support@laya.net — include what you expected, what happened, and a link to the affected board or item so we can help quickly.