Bitbucket Pipelines to CircleCI Converter

Convert bitbucket-pipelines.yml to CircleCI 2.1 config.yml. Translates default/branches/tags pipelines, parallel groups, built-in caches, and pipes to CircleCI jobs and workflows.

Migrating from Bitbucket Pipelines to CircleCI

Each Bitbucket pipeline section becomes a CircleCI workflow with branch/tag filters. Built-in Bitbucket caches expand to explicit CircleCI restore/save pairs for the canonical paths.

Syntax cheat sheet

ConceptBitbucket PipelinesCircleCI
Trigger sectionpipelines: branches: main:workflows: main: jobs: - test: filters: branches: only: [main]
Step- step: image scriptjobs: step: docker: steps:
Cache (built-in)caches: [node]- restore_cache + save_cache (paths: node_modules)
Pipe- pipe: atlassian/aws-s3-deploy(shell equivalent or aws-cli orb)

Gotchas to watch for

  • warning

    Custom pipelines become workflows

    A `pipelines.custom.<name>` Bitbucket section becomes a CircleCI workflow gated by a pipeline parameter. Trigger via the CircleCI API or schedule.

  • warning

    Manual gates → approval jobs

    `trigger: manual` becomes a `type: approval` workflow job.

Worked examples

Bitbucket build → CircleCI

Default pipeline → workflow with one job. Built-in node cache → explicit pair.

Bitbucket Pipelines
image: node:20
pipelines:
  default:
    - step:
        name: Test
        caches: [node]
        script:
          - npm ci
          - npm test
CircleCI
version: 2.1
jobs:
  test:
    docker:
      - image: node:20
    steps:
      - checkout
      - restore_cache:
          keys: [node-cache]
      - run: npm ci
      - save_cache:
          key: node-cache
          paths: [node_modules]
      - run: npm test
workflows:
  main:
    jobs: [test]

Frequently asked questions

How are Bitbucket pipes converted?expand_more

Common Atlassian pipes get shell or orb-command equivalents. Less common ones become flagged stubs.

Related Tools