GitBitbucket Platform

Bitbucket Platform

Bitbucket is Atlassian's Git hosting and code collaboration platform. Its defining strength is deep integration with the Atlassian ecosystem — especially Jira for issue tracking and Trello for lightweight task boards. If your team already plans work in Jira, Bitbucket connects commits, branches, and pull requests directly to your issues, giving you end-to-end traceability from a ticket to the code that resolves it.

Cloud vs Data Center
  • Bitbucket Cloud: the SaaS offering hosted by Atlassian at bitbucket.org. No maintenance, automatic updates, and built-in Bitbucket Pipelines for CI/CD.

  • Bitbucket Data Center: self-managed, self-hosted Bitbucket for organizations needing data residency, high availability, and full control. (This replaced the older Bitbucket Server.)

  • Data Center supports clustering and smart mirroring for large, geographically distributed teams.

  • Note that Bitbucket Pipelines is a Cloud feature; Data Center typically pairs with Bamboo or external CI tools.

Core features
  • Repositories: Git hosting with unlimited private repos, branch permissions, and Git LFS support.

  • Pull Requests: code review with inline comments, required approvals, default reviewers, and merge checks.

  • Bitbucket Pipelines: built-in CI/CD configured via bitbucket-pipelines.yml.

  • Branch permissions: fine-grained control over who can push, merge, or delete branches.

  • Jira integration: link commits, branches, and PRs to Jira issues; transition issues with smart commits.

  • Code Insights: surface test results, code coverage, and security scan reports inside pull requests.

  • Deployments: track and visualize releases across environments with deployment permissions.

  • Snippets and Wikis: shareable code fragments and per-repo documentation.

Atlassian is the whole story
Bitbucket rarely competes on raw features alone — it competes on integration. If your organization runs Jira, Confluence, and Trello, Bitbucket becomes the code layer that ties everything together. A Jira issue can show its linked branches, open PRs, build status, and deployment state without leaving the ticket.
Pull Requests and code review

Bitbucket uses the term Pull Request (like GitHub). PRs support inline comments, threaded discussions, and merge checks that block a merge until conditions are met — for example, a minimum number of approvals, no unresolved tasks, and passing builds. Default reviewers can be added automatically based on the repository or branch.

  • Require a minimum number of approvals before merging.

  • Require all build/pipeline checks to pass (a green build) before merge.

  • Require that all PR tasks (action items raised in review) are resolved.

  • Choose merge strategies: merge commit, squash, or fast-forward.

  • Default reviewers are auto-added so the right people always see relevant changes.

Branch permissions

Branch permissions (the Bitbucket equivalent of branch protection rules) let you lock down important branches. You configure them per repository or project, targeting branches by name, pattern, or branching model type.

  • Prevent all changes: lock a branch so nobody can push directly.

  • Prevent deletion: stop main or release branches from being deleted.

  • Prevent rewriting history: block force pushes that rewrite commits.

  • Require pull requests: force all changes through a PR with approvals.

  • Permissions can be scoped to specific users or groups (e.g. only the release team can merge to production).

Bitbucket Pipelines (CI/CD)

Bitbucket Pipelines is the built-in CI/CD engine for Bitbucket Cloud. Pipelines are defined in a bitbucket-pipelines.yml file at the repo root. Each step runs in a Docker container, and you organize work using steps (sequential by default) and parallel blocks. Billing is based on build minutes, which vary by plan.

bitbucket-pipelines.yml

YAML
image: node:20

definitions:
  caches:
    npm: ~/.npm
  steps:
    - step: &build-test
        name: Build and Test
        caches:
          - npm
        script:
          - npm ci
          - npm run build
          - npm test
        artifacts:
          - dist/**

pipelines:
  default:
    - step: *build-test

  branches:
    main:
      - step: *build-test
      - step:
          name: Deploy to Production
          deployment: production
          trigger: manual
          script:
            - echo "Deploying $BITBUCKET_COMMIT to production"
            - ./scripts/deploy.sh

  pull-requests:
    '**':
      - parallel:
          - step:
              name: Lint
              script:
                - npm ci
                - npm run lint
          - step:
              name: Unit tests
              script:
                - npm ci
                - npm test
  • default runs on every push that does not match another section.

  • branches define pipelines that run only on specific branches (e.g. main).

  • pull-requests run pipelines when a PR is opened or updated.

  • parallel blocks run multiple steps at once to speed up feedback.

  • deployment tags a step with an environment so it shows in the Deployments view.

  • Predefined variables like $BITBUCKET_COMMIT and $BITBUCKET_BRANCH are injected automatically.

Plan comparison

Feature

Free

Standard ($3/user/mo)

Premium ($6/user/mo)

Users

Up to 5

Unlimited

Unlimited

Private repos

Unlimited

Unlimited

Unlimited

Build minutes (Pipelines)

50/mo

2,500/mo

3,500/mo

Git LFS storage

1 GB

5 GB

10 GB

Pull requests & reviews

Yes

Yes

Yes

Branch permissions

Limited

Yes

Yes

Merge checks

Basic

Yes

Advanced

Required merge checks

No

No

Yes

IP allowlisting

No

No

Yes

Deployment permissions

No

No

Yes

Smart mirroring

No

No

Yes

Support

Community

Standard

Priority

Free tier caps users, not repos
Bitbucket Cloud's Free plan is unusual in that it limits the number of *users* (5) rather than the number of repositories. This is great for small teams and side projects, but you will need a paid plan the moment your collaborator count exceeds five.
Jira integration and smart commits

The killer feature of Bitbucket is its native Jira integration. Once a repository is connected to a Jira project, you can reference issue keys in commit messages to automatically link, comment on, log time against, and even transition issues. These are called smart commits.

Smart commit syntax

Bash
# Reference an issue (links the commit to JIRA-123)
git commit -m "JIRA-123 Fix null check on checkout"

# Add a comment to the issue
git commit -m "JIRA-123 #comment Refactored the payment service"

# Log time worked against the issue
git commit -m "JIRA-123 #time 2h 30m Implemented retry logic"

# Transition the issue (e.g. move it to Done / close it)
git commit -m "JIRA-123 #close Resolved the race condition"

# Combine multiple commands in one message
git commit -m "JIRA-123 #time 1h #comment Done with tests #close"
  • #comment adds a comment to the Jira issue from the commit message.

  • #time logs a work-log entry (using Jira time format like 2h 30m).

  • #close, #resolve, #start-review, etc. transition the issue through your workflow.

  • Creating a branch named after an issue key (e.g. feature/JIRA-123-add-cart) links the branch to the issue automatically.

  • Jira shows the linked branches, commits, PRs, and build/deploy status right on the issue.

Deployments

Pipelines steps tagged with a deployment key feed into Bitbucket's Deployments dashboard, which tracks what version is running in each environment (test, staging, production). On Premium you can add deployment permissions so only authorized users can trigger or approve a production release.

  • Standard environment tiers: test, staging, and production.

  • See the commit and PR behind every deployment at a glance.

  • Gate production deploys behind a manual trigger and required approvers.

  • Deployment variables let you store environment-specific secrets securely.

Bitbucket vs GitHub vs GitLab

Aspect

Bitbucket

GitHub

GitLab

Code review unit

Pull Request

Pull Request

Merge Request

Built-in CI/CD

Pipelines

Actions

GitLab CI/CD

Issue tracking

Jira (external, deep)

GitHub Issues

GitLab Issues + Epics

Best for

Atlassian/Jira shops

Open source & ecosystem

All-in-one DevSecOps

Free tier limit

5 users

Unlimited users

Unlimited users

Self-hosting

Data Center

Enterprise Server

Self-managed CE/EE

CI billing

Build minutes

Action minutes

CI/CD minutes

Tip
Choose Bitbucket when Jira is already central to how your team works — the traceability from a Jira ticket through commits, PRs, and deployments is unmatched. If you do not use Jira, GitHub or GitLab will usually give you a richer standalone experience.