Skip to main content

Bitbucket Behavior

Bitbucket Cloud does not map one-to-one to native GitHub or GitLab release semantics.

Synthetic release model​

A Bitbucket release is represented by:

  • a tag
  • notes
  • downloads
  • a manifest file named .gfrm-release-<tag>.json

Bitbucket downloads share one namespace per repository, so migrated assets are uploaded as <tag>-<asset name> (for example v1.2.0-app.zip). This keeps same-named assets from different releases from replacing each other. The manifest keeps the original asset name and links to the tag-scoped download.

Legacy compatibility​

When a source Bitbucket tag is missing a manifest, that condition alone must not hard-fail the migration.

Operational implication​

Treat downloads and the synthetic manifest as part of the same release unit when validating or troubleshooting a Bitbucket migration.