Skip to content

Connect GitLab

Mirror GitLab issues and issue boards into Laya — token or OAuth setup, self-managed instances, what syncs and timing.

Last updated

On this page

Connecting GitLab mirrors project issues into Laya as live, editable Connected boards — including projects on self-managed GitLab instances. Issues stay in GitLab; Laya syncs changes both ways.

Why connect GitLab

  • Mirror a project's issues, and optionally pin one of the project's GitLab issue boards so its label lists drive Laya's columns.
  • Status maps from open/closed state plus scoped labels (for example workflow::doing), and edits swap only the lane label — other labels are preserved.
  • Track milestones as sprints on every tier, with GitLab Premium iterations shown read-only.
  • Manage issue links — Related, Blocks, Blocked by — from the side panel.

Before you start

There are two ways to authenticate:

  • Continue with GitLab (OAuth) — shown when OAuth is configured on the server, and the recommended path when it is offered. It requests the api and read_user scopes, then lets you pick a group on a "Choose a namespace" screen.
  • Personal access token — the setup card explains: "In GitLab: User settings → Access tokens → Add new token, with the api scope." For a self-managed instance, fill in the Instance URL (optional — self-hosted) field; it defaults to gitlab.com.

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 GitLab.
  2. Pick GitLab as the sourceOn the "Which tool is it in?" screen, choose GitLab.
  3. ConnectSelect Continue with GitLab and complete the consent — or use the Personal access token form, adding an Instance URL for self-managed GitLab. The connection is created in the workspace you started the flow from.
  4. Choose a namespaceAfter OAuth, pick a group on the "Choose a namespace" screen.
  5. Choose boards to mirrorTick the projects you want in the "Choose boards to mirror" list.
  6. MirrorSelect Mirror N boards → and wait for "You're live in Laya", then Open board.

After mirroring, you can pin one of the project's GitLab issue boards (or keep "Project (all issues)"). Pinning a board rebuilds Laya's columns from that board's label lists; switching resets the lane map and re-reads the columns.

What syncs

GitLab sync coverage on mirrored boards
DataGitLab → LayaLaya → GitLab
IssuesYes — per projectYes — create, edit, close and reopen
StatusYes — open/closed plus scoped labels, or a pinned issue board's listsYes — close/reopen plus a targeted lane-label swap that preserves other labels
AssigneesYesYes — replaces the set; multiple assignees need GitLab Premium
Due dateYesYes
Weight (story points)YesYes
MilestonesYesYes — creatable on all tiers
IterationsYes — read only (GitLab Premium)No — cannot be created from Laya
Issue links (Related / Blocks / Blocked by)YesYes — link and unlink
EpicsCarried read-only into native epics during master-board import (Premium/Ultimate)
DescriptionYes — Markdown converted to Laya blocksYes — converted back to Markdown
Comments (notes)Yes — read in the side panelYes — post new notes
Merge requestsNo — merge requests are not mirrored
AttachmentsNoNo

Issues imported as native Laya rows (via a master board) keep syncing title, status, due date, weight and description out to GitLab, and title, status, priority (derived from labels), effort (weight) and description back in. Priority, assignee and issue type do not push outbound on imported rows.

Sync triggers and timing

  • Laya → GitLab: immediate. Edits call the GitLab API as part of the action, with per-item badges showing Queued, Syncing, Synced or Failed.
  • GitLab → 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 → GitLab: tabs Boards, Sync log and Settings, a health card, + Mirror a board, the Polling toggle, Refresh credentials and Disconnect. See Managing connections.

Limitations

  • Merge requests are not mirrored — issues only.
  • Iterations cannot be created from Laya, and epics are read-only (both Premium/Ultimate features).
  • No attachment sync in either direction.
  • Markdown conversion flattens tables, code fences and inline marks to plain text.
  • 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