Remove Bitbucket Cloud support for app passwords
### Deprecation Summary
Atlassian has deprecated app passwords (user/password authentication) for Bitbucket Cloud and announced that this authentication method will stop working on 2026-06-09.
Users importing repositories from Bitbucket Cloud using the GitLab API will no longer be able to use username/password authentication in GitLab. They will need to use [user API tokens](https://support.atlassian.com/organization-administration/docs/understand-user-api-tokens/) instead.
Users importing repositories from Bitbucket Server are unaffected. Users importing repositories from Bitbucket Cloud using the GitLab UI are unaffected.
#### Documentation
- Atlassian announcement: https://www.atlassian.com/blog/bitbucket/bitbucket-cloud-transitions-to-api-tokens-enhancing-security-with-app-password-deprecation
- GitLab import documentation: https://docs.gitlab.com/user/import/bitbucket_cloud/#generate-a-bitbucket-cloud-app-password
- GitLab API documentation: https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-cloud
### Breaking Change?
Does this deprecation contain a breaking change? ```Yes```
### Affected Customers
Who is affected by this deprecation: GitLab.com users, Self-managed users, or Dedicated users? (choose all that apply)
- [x] GitLab.com
- [x] Self-managed
- [x] Dedicated
What pricing tiers are impacted?
- [x] GitLab Free
- [x] GitLab Premium
- [x] GitLab Ultimate
#### Am I impacted?
If you use the [`POST /import/bitbucket` GitLab API](https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-cloud) with the `bitbucket_username` and `bitbucket_app_password` parameters, you are affected.
In this case, replace your use of `bitbucket_username` and `bitbucket_app_password` with `bitbucket_api_token`. See the Atlassian documentation for instructions on how to create an API token in Bitbucket: https://support.atlassian.com/bitbucket-cloud/docs/create-an-api-token/
### Deprecation Milestone
This deprecation will be announced in milestone: ```18.9```
### Planned Removal Milestone
The feature / functionality will be removed in milestone: ```19.0```
### Links
- Breaking change exception request: https://gitlab.com/gitlab-com/Product/-/work_items/14486+
- Feature request for API token support: https://gitlab.com/gitlab-org/gitlab/-/work_items/575583+
- Support for BitBucket Cloud API tokens added in GitLab 18.9: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/218681+
### Checklists
#### Timeline
#### Rollout Plan
- DRI Engineers: @georgekoltsov
- DRI Engineering Manager: @thiagocsf
- [ ] Describe rollout plans on GitLab.com
- [ ] _Link to [a feature flag rollout issue](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20Flag%20Roll%20Out.md
)_ that covers:
- [ ] Expected release date on GitLab.com and GitLab version
- [ ] Rollout timelines, such as a percentage rollout on GitLab.com
- [ ] Creation of any clean-up issues, such as code removal
- [ ] Determine how to migrate users still using the existing functionality
- [ ] Document ways to migrate with the tooling available
- [ ] Automate any users who have not yet migrated, but ensure it's a two-way door decision
#### Communication Plan
- DRI Product Manager: @thiagocsf
An internal slack post and a release post are not sufficient notification for our customers or internal stakeholders. Plan to communicate proactively and directly with affected customers and the internal stakeholders supporting them.
**Internal Communication Plan**
This will have been documented in your [breaking change request](https://gitlab.com/gitlab-com/Product/-/issues/new?issuable_template=Breaking-Change-Exception). You can use this checklist to track completion of these items.
- [ ] [Support Preparedness issue](https://gitlab.com/gitlab-com/support/support-team-meta/-/blob/master/.gitlab/issue_templates/Support%20Preparedness.md?ref_type=heads) created
- [ ] Guidance for Engineering, Product, Security, Customer Success, and Sales created
**External Communication Plan**
This will have been documented in your [breaking change request](https://gitlab.com/gitlab-com/Product/-/issues/new?issuable_template=Breaking-Change-Exception). You can use this checklist to track completion of these items.
- [ ] Customer announcement plan (timeline for notifications, audience, channels, etc)
- [ ] Ensure you have approvals from legal and corp comms for any communication being sent directly to customers.
- [x] As soon as possible, but no later than the third milestone preceding the major release, ensure that the following are complete (for example, given the following release schedule: `17.8, 17.9, 17.10, 17.11, 18.0` – `17.9` is the third milestone preceding the major release).
- [x] A [deprecation announcement entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-the-announcement) has been created so the deprecation will appear in release posts and on the [general deprecation page](https://docs.gitlab.com/ee/update/deprecations). _Add link to the relevant merge request._
- [x] Documentation has been updated to mark the feature as [deprecated](https://docs.gitlab.com/development/documentation/versions/#deprecations-and-removals). _Add link to the relevant merge request._
- [ ] On the major milestone:
- [ ] The deprecated item has been removed. _Add link to the relevant merge request._
- [ ] If the removal of the deprecated item is a [breaking change](https://docs.gitlab.com/update/terminology/#breaking-change), the merge request is labeled ~"breaking change".
- [ ] Document the migration plan for users, clearly outlining the actions they need to take to mitigate the impact of the breaking change.
- [ ] [Add link](here)
#### Stakeholder Mentions
- [ ] Product Designer `@ProductDesigner`
- [x] Tech Writer @eread
- [ ] Software Engineering in Test `@SET`
- [ ] Any other stable counterparts based on the [product categories](https://handbook.gitlab.com/handbook/product/categories/):
- [ ] Add Sales/CS counterpart or mention `@timtams`
- [x] Add Support counterpart or mention @mlockhart
- [ ] Add Marketing counterpart or mention `@martin_klaus`
- [ ] Add Corp comms if direct customer comms are needed `@jmalleo`
- [ ] Add Product Security counterpart, if relevant to your deprecation
- [ ] Mention (in internal note) Customer Success Managers / Acount Managers / Solutions Architects for impacted customers
#### Labels
- [x] This issue is labeled ~deprecation, and with the relevant `~devops::`, `~group::`, and `~Category:` labels.
- [x] This issue is labeled ~"breaking change" if the removal of the deprecated item will be a [breaking change](https://docs.gitlab.com/update/terminology/#breaking-change).
### References
- [Deprecations, removals, and breaking changes](https://handbook.gitlab.com/handbook/marketing/blog/release-posts/#deprecations-removals-and-breaking-changes)
- [Deprecation guidelines](https://docs.gitlab.com/ee/development/deprecation_guidelines/)
- [Deprecations and removals doc styleguide](https://docs.gitlab.com/ee/development/documentation/styleguide/deprecations_and_removals)
- [REST API Deprecations](https://docs.gitlab.com/development/documentation/restful_api_styleguide/#deprecations) and [REST API breaking changes](https://docs.gitlab.com/development/api_styleguide/#breaking-changes).
- [GraphQL Deprecations](https://docs.gitlab.com/development/api_graphql_styleguide/#deprecating-schema-items) and [GraphQL API breaking changes](https://docs.gitlab.com/development/api_graphql_styleguide/#breaking-changes).
- [GitLab release and maintenance policy](https://docs.gitlab.com/policy/maintenance/)
- Videos 📺
- [How to deprecate and remove features in GitLab releases](https://youtu.be/9gy7tg94j7s)
- [Review of GitLab deprecations and removals policy & Runner team deprecations and removals process](https://youtu.be/ehT1xBajCRI)
/label ~"group::import"
/milestone %"19.0"
issue