MkDevForge.Bbt
0.1.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global MkDevForge.Bbt --version 0.1.2
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local MkDevForge.Bbt --version 0.1.2
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MkDevForge.Bbt&version=0.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package MkDevForge.Bbt --version 0.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
bbt
bbt is a .NET CLI for Bitbucket Cloud pull request workflows.
It supports profile-based authentication, PR read/write operations, structured JSON output for scripting, and a raw API command for endpoints that are not wrapped yet.
Install
dotnet tool install --global MkDevForge.Bbt
Verify:
bbt --version
Requirements
- Bitbucket Cloud account
- Bitbucket API token
- Atlassian email address for HTTP Basic auth (
email:token) - Optional:
jqif you want to use--jq
Quick start
- Login and create/update a profile:
bbt auth login --workspace <workspace>
- List open pull requests:
bbt pr list --workspace <workspace> --repo <repo>
- View a PR:
bbt pr view <id> --workspace <workspace> --repo <repo>
- Get structured diff JSON:
bbt pr diff <id> --workspace <workspace> --repo <repo> --json
Commands
Auth
bbt auth login [--workspace <slug>] [--profile <name>] [--email <email>] [--token <token>]bbt auth switch <profile>bbt auth status [--check]bbt auth logout [--profile <name>]
auth login validates credentials with Bitbucket before saving.
auth status --check performs a live API check.
Pull requests
bbt pr list [--state <STATE>] [--limit <n>]bbt pr view [<id>]bbt pr diff [<id>] [--include-raw]bbt pr comments [<id>] [--limit <n>]bbt pr comment <id> (--body <text> | --body-file <path>) [--file <path> --line <n> [--line-end <n>] [--side <to|from>]]bbt pr review <id> (--approve|--unapprove|--request-changes|--unrequest-changes) [--body <text>|--body-file <path>]
Notes:
- For
pr view,pr diff, andpr comments,<id>is optional. - If
<id>is omitted,bbttries to resolve the PR from your current git branch. pr commentandpr reviewalways require explicit PR id.pr review --body/--body-fileposts a global comment first, then performs the review action.
Raw API access
bbt api <METHOD> <PATH> [--input <file>] [--paginate]
--paginate follows Bitbucket next links and emits a merged values array.
Path placeholders:
{workspace}{repo}/{repo_slug}
Example:
bbt api GET "/repositories/{workspace}/{repo}/pullrequests?state=OPEN&pagelen=10" --paginate --json
Output and scripting flags
Most commands support:
--jsonfor structured output--fields <csv>to keep top-level fields from JSON output--jq <expr>to pipe JSON through externaljq--quietfor minimal output--verbosefor request diagnostics to stderr--no-retryto disable transient retry/backoff
Rules:
--fieldsand--jqrequire--json--jsonand--quietare mutually exclusivejqis optional unless--jqis used
Workspace/repo resolution
When a command needs workspace/repo, resolution order is:
- CLI flags (
--workspace,--repo) - Environment (
BBT_WORKSPACE,BBT_REPO) - Current profile defaults
- Git
originURL (https://bitbucket.org/<workspace>/<repo>.gitorgit@bitbucket.org:<workspace>/<repo>.git)
Workspace and repo can come from different sources in the same invocation.
Environment variables
BBT_EMAILBBT_TOKENBBT_WORKSPACEBBT_REPOBBT_BASE_URL(default:https://api.bitbucket.org/2.0)
Environment values override profile values.
Credential and config storage
- Non-secret config is stored in
config.jsonunder OS-specific app config directories. - Tokens are stored in:
- macOS: Keychain
- Windows: Credential Manager
- Linux:
secret-toolwhen available - Linux fallback: token file with restrictive permissions (
0600)
Current scope
- Bitbucket Cloud only
- API token auth only (no OAuth flow yet)
- No dedicated
pr comment editcommand yet (you can usebbt api PUT .../comments/{id})
Documentation
- API contract used by v0.1:
docs/contracts/bitbucket-cloud-v0.1.md - Release and semantic versioning:
docs/release.md
License
MIT (LICENSE)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.