The State of Docs Report 2025 is live! Dive in and see why docs matter more than ever:
Read the report
LogoLogo
ProductPricingLog inSign up
  • Documentation
  • Developers
  • Guides
  • Changelog
  • Help Center
  • Getting Started
    • GitBook Documentation
    • Quickstart
    • Importing content
    • GitHub & GitLab Sync
      • Enabling GitHub Sync
      • Enabling GitLab Sync
      • Content configuration
      • GitHub pull request preview
      • Commit messages & Autolink
      • Monorepos
      • Troubleshooting
  • Creating Content
    • Formatting your content
      • Inline content
      • Markdown
    • Content structure
      • Spaces
      • Pages
      • Collections
    • Blocks
      • Paragraphs
      • Headings
      • Unordered lists
      • Ordered lists
      • Task lists
      • Hints
      • Quotes
      • Code blocks
      • Files
      • Images
      • Embedded URLs
      • Tables
      • Cards
      • Tabs
      • Expandable
      • Stepper
      • Drawings
      • Math & TeX
      • Page links
    • Reusable content
    • Broken links
    • Searching content
      • Search & Quick find
      • GitBook AI
    • Writing with GitBook AI
    • Version control
  • API References
    • OpenAPI
      • Add an OpenAPI specification
      • Insert API reference in your docs
    • Guides
      • Structuring your API reference
      • Adding custom code samples
      • Managing API operations
      • Describing enums
      • Integrating with CI/CD
  • Extensions reference
  • Publishing Documentation
    • Publish a docs site
      • Public publishing
      • Private publishing with share links
    • Site structure
      • Content variants
      • Site sections
    • Site customization
      • Icons, colors, and themes
      • Layout and structure
      • Extra configuration
    • Set a custom domain
    • Setting a custom subdirectory
      • Configuring a subdirectory with Cloudflare
      • Configuring a subdirectory with Vercel
    • Site settings
    • Site insights
    • Site redirects
    • Visitor authentication
      • Enabling visitor authentication
      • Setting up Auth0
      • Setting up Azure AD
      • Setting up AWS Cognito
      • Setting up Okta
      • Setting up OIDC
      • Setting up a custom backend
  • LLM-ready docs
  • Collaboration
    • Live edits
    • Change requests
    • PDF export
    • Inviting your team
    • Comments
    • Notifications
  • Integrations
    • Install and manage integrations
    • GitHub Copilot
  • Account management
    • Plans
      • Legacy pricing
      • Sponsored site plan
      • Non-profit plan
      • Billing policy
    • Subscription cancellations
    • Personal settings
    • Organization settings
    • Member management
      • Invite or remove members
      • Roles
      • Teams
      • Permissions and inheritance
    • SSO & SAML
      • SSO Members vs non-SSO
  • Resources
    • GitBook UI
    • Keyboard shortcuts
    • Glossary
Powered by GitBook
LogoLogo

Resources

  • Showcase
  • Enterprise
  • Status

Company

  • Careers
  • Blog
  • Community

Policies

  • Subprocessors
  • Terms of Service
On this page
  • Getting started
  • Generate and enter your API access token
  • Select a repository and branch
  • Perform an initial sync
  • Write and commit

Was this helpful?

Edit on GitHub
  1. Getting Started
  2. GitHub & GitLab Sync

Enabling GitLab Sync

Set up and authorize the GitLab integration for GitBook

Last updated 4 months ago

Was this helpful?

Getting started

In the space you want to sync with your GitLab repo, head to the space menu in the top right, and select Synchronize with Git. From the provider list, select GitLab Sync, and click Configure.

Generate and enter your API access token

You can generate an API access token in your GitLab user settings.

There are two types of access tokens in GitLab: Project and Personal. Note that in order for the integration to work you’ll need to use a Personal token, which you can generate from your GitLab user preferences menu.

Ensure that you enable the following access for your token:

  • api

  • read_repository

  • write_repository

If the tokens you create also have a specific role attached to them, also make sure that it has a Maintainer or Admin role.

Then you can paste the token into the API access token field when configuring your GitLab integration.

Select a repository and branch

Select the repository you want to keep in sync with your GitBook content.

Can’t see your repository? Ensure you’ve set the correct permissions when creating your API token.

Once you’ve selected the correct repository, choose which branch you want commits to be pushed to and synced from.

For many GitLab repositories, the main branch might be automatically set to protected. If this is the case, we recommend adding a specific branch to sync your content between. You can then merge this into main and keep the protection in place.

Perform an initial sync

When syncing for the first time, you’ll have the option to sync in one of two directions:

  1. GitBook -> GitLab will sync your space’s content to the selected branch. This is great if you’re starting from an empty repository and want to get your GitBook content in quickly.

  2. GitLab -> GitBook will sync your space’s content from the selected branch. This is great if you have existing markdown content in a repository and want to bring it into GitBook.

Write and commit

When you edit on GitBook, every change request merge will result in a commit to your selected GitLab branch.

When you commit to GitLab, every commit will be synced to your GitBook space as a history commit.

You’re good to go. You’ll notice that if your space was in mode, live edits are now locked. This allows GitBook to reliably sync content to your repository when someone in your team merges a in GitBook.

live edit
change request
GitLab Sync configuration options.