Agent-friendly thin CLI for Bitbucket Data Center REST API pull request workflows.
Project description
btbkt
btbkt is an agent-facing CLI for Bitbucket Data Center / Server.
It is a thin wrapper over Bitbucket's REST API, with a small set of higher-level PR commands that return compact JSON for agent workflows: opening PRs, reviewing others' PRs, reading review comments, and responding after code changes.
Install
For normal use:
python -m pip install btbkt
This installs the btbkt command:
btbkt --help
For local development from a source checkout:
python -m pip install -e .
Run from source without installing:
PYTHONPATH=src python -m btbkt --help
Python >=3.9 is supported.
Authentication
Only these environment variables are read for authentication:
export BITBUCKET_BASE_URL="https://bitbucket.internal"
export BITBUCKET_USERNAME="alice"
export BITBUCKET_TOKEN="..."
BITBUCKET_PASSWORD can be used instead of BITBUCKET_TOKEN.
The CLI always sends HTTP Basic auth using BITBUCKET_USERNAME plus
BITBUCKET_PASSWORD or BITBUCKET_TOKEN. Project, repo, source branch, and
target branch are not read from env; they come from CLI flags or the current git
checkout.
Skill
Agent workflow guidance lives here:
skills/using-btbkt-pr-workflows/SKILL.md
Use that skill when an agent needs to create a PR, review someone else's PR, or address review feedback on its own PR.
Examples
Find the PR for the current git branch:
btbkt pr current
Open a PR from the current branch:
btbkt pr create --title "feat: add config schema" --description "Adds schema validation." --reviewer alice
Start reviewing a PR:
btbkt pr review-summary 390
btbkt pr review-context 390 --path src/app.py --max-diff-lines 120
Read unresolved review comments, inspect terse comments with nearby diff context, and reply after fixing:
btbkt pr review-comments 390 --state OPEN --with-diff-context 5
btbkt pr reply 390 15450 --text "Fixed and covered by tests."
Reply to multiple handled comments from a reviewed JSON file:
btbkt pr reply-many 390 --input replies.json --dry-run
btbkt pr reply-many 390 --input replies.json
review-summary reports Bitbucket open state separately from reply state. A
comment can remain OPEN after a reply, so use
open_comments_without_replies for the remaining-unreplied count.
Submit a review decision:
btbkt pr review 390 --comment "Looks good." --approve
btbkt pr review 390 --comment "Please add a regression test." --needs-work
Notes
btbkt prints JSON. The high-level PR commands intentionally omit large raw
Bitbucket payloads and include pagination metadata when the result may be partial.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file btbkt-0.1.1.tar.gz.
File metadata
- Download URL: btbkt-0.1.1.tar.gz
- Upload date:
- Size: 51.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb96d60616eef973e5f47240c371e22755f5d0c675bef04e4ff62fe2c8ffafca
|
|
| MD5 |
e0c8f8243f3302103f1c8db8452a8279
|
|
| BLAKE2b-256 |
8bac88d48cea6453cf8ede49cc0c490687f98c05e985701064dc9e4f74377f2c
|
File details
Details for the file btbkt-0.1.1-py3-none-any.whl.
File metadata
- Download URL: btbkt-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
086990038a36bc986bacb0f0485d316ce9e26f9b882b6963e4e33d538cdd8c31
|
|
| MD5 |
b54eb5f5bbf8d49d647a1c4544d3f14d
|
|
| BLAKE2b-256 |
a9f668a8a3dcb0f214ddef39a392d43f973d22f7a6c464da01e75a2dc1782628
|