Bitbucket to GitLab Migration
- Atlassian Gold Solution Partner
- GitLab partner
- Delivering since 1999
- Public & private sector
ReleaseTEAM sells and implements both Atlassian Bitbucket and GitLab. That matters here, because a lot of the content you’ll find on “Bitbucket to GitLab migration” is written by people who only sell one side of the decision. We’re not in that position, and we’ll tell you honestly when staying on Bitbucket is the better call and when moving to GitLab is.
What we won’t do is pretend the two products are equivalent. Bitbucket is a Git hosting and code review tool that pairs tightly with Jira. GitLab is a single platform covering source code, CI/CD, security scanning and planning in one data model. Which one is right depends on what your organization actually needs, not on which vendor is more persuasive.
The short answer: if you’re on Bitbucket Server, Atlassian ended support for it on 15 February 2024, so you are already off a supported product and the decision is which supported platform to move to, not whether to move. If you’re on Bitbucket Data Center or Bitbucket Cloud, you have a genuine, supported choice: stay, or consolidate into GitLab. GitLab has built-in importers for both Bitbucket Server and Bitbucket Cloud, but neither importer carries pull request approvals, and Bitbucket Server’s importer needs an administrator-level token to bring across everything it can.
Where each product actually stands today
Bitbucket Server
Support ended 15 February 2024. If you’re still running it, you’re on an unsupported product regardless of which platform you move to next.
Bitbucket Data Center
A supported, self-managed product. Atlassian’s Data Center product line reaches end of life 28 March 2029, though Atlassian has stated Bitbucket Data Center specifically will remain available beyond that date via a hybrid license alongside Bitbucket Cloud.
Bitbucket Cloud
Atlassian’s actively developed, supported SaaS product. A legitimate long-term home for teams already invested in the Atlassian Cloud ecosystem.
On Bitbucket Server specifically? You’re already past Atlassian’s own support window. That doesn’t mean GitLab is automatically the answer: moving to Bitbucket Data Center or Bitbucket Cloud is just as valid a path off an unsupported product, and if your organization is Jira-centric or has already invested in Atlassian Cloud, it’s often the simpler one. See our Atlassian Cloud migrations and Data Center end-of-life guide, and our Bitbucket services if staying on Atlassian fits.
When staying on Bitbucket fits, and when GitLab fits
Staying on Bitbucket often fits when…
Your planning is Jira-centric and you value Bitbucket’s tight, native Jira integration. You’ve already invested in Atlassian Cloud, or you’re comfortable running Bitbucket Data Center and its hybrid license path.
Moving to GitLab often fits when…
You want source code, CI/CD, security scanning and planning in one platform and one permission model. You’re consolidating from Bamboo or Bitbucket Pipelines and want one CI/CD system rather than several. You need a self-managed or air-gapped deployment with a single vendor relationship.
What GitLab’s importers actually move
GitLab has two separate, built-in importers, and it matters which one applies to you: the Bitbucket Server importer is for Bitbucket Server and Bitbucket Data Center; the Bitbucket Cloud importer works only against Bitbucket.org and explicitly does not work against Bitbucket Server or Data Center.
| Imports | Bitbucket Server / Data Center importer | Bitbucket Cloud importer |
|---|---|---|
| Git repository data & LFS objects | Yes | Yes |
| Pull requests & comments | Yes, including reviewers and merge events | Yes |
| Issues, milestones, labels, wiki | Not applicable (Bitbucket Server has no built-in issue tracker in the same sense) | Yes |
| Pull request approvals & approval rules | Not imported | Not imported |
| Inline images & file attachments | Kept as external links back to the source server | Kept as external links back to Bitbucket.org |
| Admin-level access needed | Yes, for full data. Without it, some data is not imported | Standard OAuth authorization |
The external-link behavior for images and attachments is worth planning around deliberately: if you decommission or lose access to the source Bitbucket instance before re-hosting those assets, the links break permanently. And because neither importer brings over pull request approvals or approval rules, any branch protection built on “requires N approvals” has to be rebuilt in GitLab as merge request approval rules, which are a Premium and Ultimate feature; basic protected branches exist on every tier. Our GitLab licensing comparison covers the tier detail.
Bamboo, Bitbucket Pipelines, and consolidating CI/CD
A Bitbucket migration is often really a CI/CD consolidation project wearing a source-control label. Two Atlassian CI/CD products commonly sit alongside Bitbucket:
- Bamboo, Atlassian’s standalone CI/CD server. Atlassian ended support for Bamboo Server on 15 February 2024, the same date as Bitbucket Server, and Bamboo is now offered only as Bamboo Data Center. If you’re moving off Bamboo, that pipeline logic has to be rebuilt as GitLab CI/CD jobs; there’s no automatic converter from Bamboo build plans to
.gitlab-ci.yml. - Bitbucket Pipelines, Bitbucket Cloud’s built-in YAML CI/CD. The YAML structure is different enough from
.gitlab-ci.ymlthat this is a rewrite, not a translation, though the underlying concepts (steps, caching, artifacts, parallel jobs) map reasonably well by hand.
If Jenkins is also part of your CI/CD estate, our Jenkins migration options page covers that consolidation path separately.
How we run a Bitbucket to GitLab migration
Assessment
Inventory of repositories, pull request approval rules, branch permissions, Bamboo plans or Bitbucket Pipelines configs, and Jira integration touchpoints.
Mapping
Branch permissions to protected branches and approval rules, CI/CD pipeline logic to .gitlab-ci.yml, agreed with your teams before anything moves.
Pilot
One project or team moves end to end, including a working CI/CD pipeline, before the rollout plan is finalized.
Full migration & reconciliation
Repositories and history moved with the correct importer for your Bitbucket product, with counts and spot checks against the source.
Parallel run
Bitbucket kept available, typically read-only, until CI/CD is green and teams are confident in the new setup.
Training & licensing
Hands-on GitLab training, plus tier selection sized to the approval rules and features your branch policies actually require.
Related migrations: Azure DevOps to GitLab, SVN to Git, Perforce to Git.
Frequently asked questions
Does GitLab have a built-in Bitbucket importer?
Yes, two: one for Bitbucket Server and Bitbucket Data Center, and a separate one for Bitbucket Cloud that only works against Bitbucket.org. Both import Git repository data and pull requests with comments; neither imports pull request approvals or approval rules, which have to be rebuilt in GitLab.
Should we migrate, or just stay on Bitbucket?
If you’re on Bitbucket Server, you’re already past Atlassian’s support window (ended 15 February 2024), so some move is warranted, and Bitbucket Data Center or Cloud are valid destinations alongside GitLab. If you’re already on Bitbucket Data Center or Cloud, staying is a legitimate choice, especially if your planning is Jira-centric or you’ve invested in Atlassian Cloud. Moving to GitLab makes more sense when you want source code, CI/CD, security scanning and planning under one platform.
What happens to our pull request approval rules?
They don’t come across with either GitLab importer. You’ll need to rebuild them as GitLab merge request approval rules, which require Premium or Ultimate; basic protected branches are available on every tier.
Is Bitbucket Data Center really going away in 2029?
Atlassian’s Data Center product line overall reaches end of life on 28 March 2029, but Atlassian has stated that Bitbucket Data Center specifically will keep being available beyond that date, paired with a hybrid license that lets customers run Bitbucket Data Center and Bitbucket Cloud together. Confirm the current terms with Atlassian directly before making a timeline decision on that basis.
What about our Bamboo or Bitbucket Pipelines CI/CD?
Both need to be rebuilt as GitLab CI/CD, not automatically converted. Bamboo Server’s own Atlassian support ended 15 February 2024, alongside Bitbucket Server’s. There is no automatic converter from either Bamboo build plans or Bitbucket Pipelines YAML to .gitlab-ci.yml; the concepts map reasonably well, but someone has to do the rewrite.
Can we run Bitbucket and GitLab side by side during a transition?
Yes, and we recommend it. A read-only Bitbucket instance kept available until GitLab’s CI/CD is green is a common, low-risk pattern, whether the end state is a full move or a permanent split between planning and source control.
GitLab importer capabilities verified 26 September 2026 against docs.gitlab.com’s Bitbucket Server and Bitbucket Cloud import documentation. Bitbucket Server and Bamboo Server end-of-support date (15 February 2024) and the Atlassian Data Center end-of-life date (28 March 2029), including the stated Bitbucket Data Center hybrid-license exception, verified against Atlassian’s own end-of-support and Data Center end-of-life pages. GitLab merge request approval rule tier requirements verified against GitLab’s documentation. ReleaseTEAM is an Atlassian Gold Solution Partner and a GitLab partner; we sell and support both Atlassian Bitbucket and GitLab. See all our tool migration services.
Not sure whether to move, or where to?
We sell both Bitbucket and GitLab, so the recommendation isn’t steered by which product we’d rather sell you. Tell us how your teams plan and ship, and we’ll give you a straight answer.
Speak With An Expert