feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud - #918

Merged
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487
Feb 21, 2026
Merged

feat(bitbucket): add gitUser field to support API token auth on Bitbucket Cloud#918
brendan-kellam merged 4 commits into
mainfrom
bkellam/bitbucket-gituser-SOU-487

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional gitUser field to the Bitbucket connection config, used for git clone authentication over HTTPS
  • Bitbucket Cloud API tokens require different usernames for the REST API (email address) and git clone (Atlassian username) — user handles the API and gitUser handles git clone
  • Fully backwards-compatible: existing configs without gitUser behave identically (falls back to user, then x-token-auth)
  • Updates Bitbucket Cloud docs with a new API Token tab (first tab), including step-by-step token creation instructions and deprecation warning on App Passwords

Fixes#892

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added optional gitUser field for Bitbucket connections; git clone operations will use gitUser (falling back to user) when present.
  • Documentation

    • Expanded Bitbucket Cloud auth guide with tabbed instructions for API Token, Access Token, and App Password (deprecation note).
    • Updated Bitbucket Data Center docs and removed obsolete token snippets, replacing them with explicit config and run examples.

…cket Cloud
BitBucket Cloud API tokens require different usernames for the REST API
(email address) and git clone (Atlassian username). Add an optional
`gitUser` field to the BitBucket connection config that, when set, is
used for git clone credentials instead of `user`.
Fixes#892
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitaiBot commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Adds an optional gitUser field to Bitbucket connection config, updates schemas and types, prefers config.gitUser for HTTPS git clone credential selection in backend, and expands Bitbucket authentication documentation and changelog entries.

Changes

Cohort / File(s)Summary
Backend Logic
packages/backend/src/utils.ts
Use config.gitUser before config.user (then 'x-token-auth') when forming git clone credentials for Bitbucket.
Schema & Type Definitions
packages/schemas/src/v3/bitbucket.schema.ts, packages/schemas/src/v3/bitbucket.type.ts, packages/schemas/src/v3/connection.schema.ts, packages/schemas/src/v3/connection.type.ts, packages/schemas/src/v3/index.schema.ts, packages/schemas/src/v3/index.type.ts, schemas/v3/bitbucket.json
Add optional gitUser property to BitbucketConnectionConfig and update user property descriptions to distinguish API tokens vs app passwords and describe gitUser fallback behavior.
Bitbucket Cloud Documentation
docs/docs/connections/bitbucket-cloud.mdx
Reworked authentication docs: replaced snippet components with three tabs (API Token, Access Token, App Password), detailed instructions, examples, and deprecation note for App Passwords.
Bitbucket Data Center Documentation
docs/docs/connections/bitbucket-data-center.mdx
Replaced token snippet components with explicit config and docker run examples using env vars.
Documentation Snippets Removed
docs/snippets/bitbucket-app-password.mdx, docs/snippets/bitbucket-token.mdx
Removed Environment Variable tab content previously providing token/env guidance.
Changelog & Schema Docs
CHANGELOG.md, docs/snippets/schemas/v3/...
Added changelog entry for gitUser; updated schema docs to reflect new field and updated descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

sourcebot-team

Suggested reviewers

  • msukkari
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically describes the main change: adding a gitUser field to support API token authentication on Bitbucket Cloud.
Linked Issues check✅ PassedAll coding requirements from issue #892 are met: gitUser field added as optional string, schema/type definitions updated, git clone credentials use gitUser fallback chain, backwards-compatible, and change enables API token auth with different usernames.
Out of Scope Changes check✅ PassedDocumentation updates for Bitbucket Cloud (API Token/Access Token/App Password tabs) and snippet/schema updates align with issue scope. All changes directly support the gitUser implementation and are within scope.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bkellam/bitbucket-gituser-SOU-487

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/snippets/schemas/v3/connection.schema.mdx`:
- Around line 693-696: The gitUser schema description is missing a trailing
period, causing punctuation inconsistency with the user description; update the
"gitUser" property's description in the generated schema (look for the "gitUser"
property in the v3 Bitbucket schema generation, e.g., in the generator output
for bitbucket.json) to end with a period ("...this is your Bitbucket username.")
or, if you prefer consistent styling, update the generator/template that
produces descriptions for properties like "gitUser" and "user" so all
descriptions in the schemas/v3/bitbucket.json output follow the same punctuation
convention.
In `@docs/snippets/schemas/v3/index.schema.mdx`:
- Around line 1104-1111: Update the description for the gitUser schema property
so it documents the full fallback chain: state that gitUser is the username for
git clone over HTTPS, and if unset it falls back to 'user', and if both gitUser
and user are unset it then falls back to 'x-token-auth'; reference the existing
properties by name (gitUser, user, x-token-auth) so readers can find the related
fields.
In `@packages/schemas/src/v3/bitbucket.type.ts`:
- Around line 12-15: The JSDoc for the Bitbucket property gitUser is missing a
trailing period; update the source description for the gitUser property (the
jsdoc/comment that generates gitUser) to end with a period ("...this is your
Bitbucket username."), then re-run the generation pipeline so the change
propagates to the generated artifacts (index.type.ts, connection.type.ts,
bitbucket.schema.ts, connection.schema.ts) and any other auto-generated copies;
ensure the updated comment is present in the original schema/type source that
drives generation.
In `@packages/schemas/src/v3/index.schema.ts`:
- Around line 1103-1110: The gitUser description currently only mentions falling
back to user but the implementation falls back gitUser → user → x-token-auth;
update the gitUser property description to document the full fallback chain
(e.g., "If not set, falls back to 'user', then to 'x-token-auth'") and make the
same textual change to the other generated schema files containing gitUser
(bitbucket.schema.ts and connection.schema.ts) so all schemas consistently
reflect the actual behavior.
---
Duplicate comments:
In `@docs/snippets/schemas/v3/bitbucket.schema.mdx`:
- Around line 12-19: The documentation snippet for the Bitbucket credentials
wrongly states the fallback for git clone auth; update the descriptions for
"user" and "gitUser" in bitbucket.schema.mdx to reflect the x-token-auth
fallback chain (gitUser falls back to x-token-auth then to user as defined in
the source schema), correct the text mentioning API token/email vs username
accordingly, and after fixing the source schema ensure you regenerate this
snippet so the docs mirror the schema's x-token-auth fallback behavior.
In `@packages/schemas/src/v3/connection.type.ts`:
- Around line 263-266: The JSDoc for the optional field gitUser in the
Connection type is missing a trailing period; update the comment above the
gitUser property (symbol: gitUser) to end the sentence with a period (making it
consistent with the similar comment in bitbucket.type.ts) so the documentation
punctuation is consistent.
In `@packages/schemas/src/v3/index.type.ts`:
- Around line 461-464: The JSDoc for the optional property gitUser is missing a
trailing period across generated copies; update the doc comment for gitUser
(symbol: gitUser) to end with a period in this file and correct the generator
source/template that produces bitbucket.type.ts and other duplicates so future
regenerations include the trailing period; specifically, change the comment text
"For API tokens, this is your Bitbucket username" to "For API tokens, this is
your Bitbucket username." in the generator and in the immediate occurrence here.
In `@schemas/v3/bitbucket.json`:
- Around line 10-17: The field descriptions for "user" and "gitUser" in
schemas/v3/bitbucket.json are missing the x-token-auth fallback; update the
"description" strings for both properties ("user" and "gitUser") to mention the
x-token-auth fallback behavior (i.e., that authentication may fall back to
x-token-auth where applicable) and then regenerate the schema output to keep it
in sync with the updated source schema.

Comment threaddocs/snippets/schemas/v3/connection.schema.mdx
Comment threaddocs/snippets/schemas/v3/index.schema.mdx
Comment threadpackages/schemas/src/v3/bitbucket.type.ts
Comment threadpackages/schemas/src/v3/index.schema.ts
@brendan-kellam
brendan-kellam merged commit a6844ac into mainFeb 21, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the bkellam/bitbucket-gituser-SOU-487 branch February 21, 2026 19:58
@github-actionsgithub-actionsBot mentioned this pull request Feb 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BitBucket Cloud: API and git clone require different usernames with API tokens

1 participant

@brendan-kellam