Skip to content

Connect GitHub

Mirror GitHub issues and Projects v2 boards into Laya — token or OAuth setup, what syncs, timing and current limitations.

Last updated

On this page

Connecting GitHub mirrors repository issues and GitHub Projects v2 boards into Laya as live, editable Connected boards. Issues stay in GitHub — Laya syncs changes both ways.

Why connect GitHub

  • Mirror two kinds of board per connection: a repository's issues, or a GitHub Projects v2 board.
  • Lanes map to Laya's four sync buckets — Queued, In motion, Done, Hold — from open/closed state and status labels, or from the Projects v2 Status field. (These sync buckets are distinct from the five status buckets on native Laya boards.)
  • Moving an issue to Done in Laya really closes it in GitHub; moving it out reopens it.
  • Track milestones as sprints on repository boards, and create new milestones from Laya.

Before you start

There are two ways to authenticate:

  • Personal access token — the setup card explains: "In GitHub: Settings → Developer settings → Personal access tokens. A fine-grained token needs Issues (Read & write) and Metadata (Read) — add Projects (Read & write) for Projects v2 boards."
  • Continue with GitHub (OAuth) — shown when OAuth is configured on the server. It requests the repo, read:org and project scopes, then lets you pick an account or organisation on a "Choose an account" screen. Note that the repo scope covers every repository your account can access, including code — to limit Laya to specific repositories, use a fine-grained personal access token instead.

Connect step by step

  1. Start the connect flowFrom your workspace, create a new board and choose the connect option — or open the Connected tab and choose Connect GitHub.
  2. Pick GitHub as the sourceOn the "Which tool is it in?" screen, choose GitHub.
  3. ConnectSelect Continue with GitHub and complete the consent — or use the Personal access token form instead. The connection is created in the workspace you started the flow from.
  4. Choose an accountAfter OAuth, pick an account or organisation on the "Choose an account" screen.
  5. Choose boards to mirrorThe "Choose boards to mirror" list offers both repositories (their issues) and Projects v2 boards. Tick what you want to mirror.
  6. MirrorSelect Mirror N boards → and wait for "You're live in Laya", then Open board.

What syncs

GitHub sync coverage on mirrored boards
DataGitHub → LayaLaya → GitHub
IssuesYes — from repositories and Projects v2 boardsYes — create, edit, close and reopen
StatusYes — open/closed plus status labels, or the Projects v2 Status fieldYes — Done closes the issue and swaps the lane label; Projects v2 also writes the Status field
AssigneesYesYes — replaces the whole assignee set on each edit
Milestones (sprints)Yes — on repository boardsYes — create milestones and assign issues
Projects v2 iterationsYes — read onlyNo — iterations are managed in the Projects UI
DescriptionYes — Markdown converted to Laya blocksYes — converted back to Markdown
CommentsYes — read in the side panelYes — post new comments
Pull requestsNo — pull requests are not mirrored
AttachmentsNoNo

Status labels and values can be re-mapped per board: the column mapping drawer lets you point any status value or label at a different bucket. Issues imported as native Laya rows (via a master board) keep syncing title, status and description in both directions. Priority, story points, due date, assignee and milestone do not sync on imported rows.

Sync triggers and timing

  • Laya → GitHub: immediate. Edits call the GitHub API as part of the action, with per-item badges showing Queued, Syncing, Synced or Failed.
  • GitHub → Laya: on demand. Use Sync now on the board or from the connection's Boards tab; boards also refresh at mirror time.
  • Background polling. A 60-second poll exists and is controlled per connection by the Polling toggle, but it may not be enabled on every deployment — treat Sync now as the reliable way to pull fresh changes.

Managing the connection

Manage the connection from workspace Settings → integrations → GitHub: tabs Boards, Sync log and Settings, a health card, + Mirror a board, the Polling toggle, Refresh credentials and Disconnect. See Managing connections.

Limitations

  • Pull requests are not mirrored — issues and Projects v2 items only.
  • Projects v2 iterations cannot be created from Laya (they are managed in the Projects UI).
  • No attachment sync in either direction.
  • Assignee edits replace the whole set — concurrent GitHub-side edits can be overwritten.
  • Imported (native) rows sync title, status and description only.
  • No working inbound webhook yet.
Still stuck?

Email support@laya.net — include what you expected, what happened, and a link to the affected board or item so we can help quickly.

Contact support