Bitbucket jira cli
Skill aiskillstore/marketplace/skills/spenhouet/bitbucket-jira-cli
Security-audited skills for Claude, Codex & Claude Code. One-click install, quality verified.
npx -y skills add aiskillstore/marketplace --skill bitbucket-jira-cliAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Manage Bitbucket pull requests, repositories, and pipelines and Jira issues from the terminal with the bj CLI. bj mirrors the GitHub gh CLI, so gh pr/issue/repo commands map to bj pr/issue/repo, no MCP server or API wiring needed. Installs the bj CLI automatically if it is missing. Use when working with Bitbucket or Jira, opening or reviewing pull requests, managing Jira issues, running pipelines, or when a git branch name contains a Jira issue key like PROJ-42.
SKILL.md
6.5 KB, as published. Nobody here has run it
bitbucket-jira-cli (bj)
bj is gh for Bitbucket and Jira. The command surface mirrors the GitHub CLI:
if you know gh, you know bj. It manages Bitbucket pull requests, repositories,
and pipelines, plus Jira issues, from one noun-first command tree.
If a command or flag is not covered here, run bj <command> --help; the flags
mirror gh and the help is authoritative.
Install bj if it is missing
Before running any bj command, make sure the CLI is on PATH. If command -v bj finds nothing, install it. This snippet picks whatever installer is already
available and prefers an isolated, self-updating install:
if ! command -v bj >/dev/null 2>&1; then
if command -v uv >/dev/null 2>&1; then
uv tool install bitbucket-jira-cli # isolated, self-updating (preferred)
elif command -v pipx >/dev/null 2>&1; then
pipx install bitbucket-jira-cli
elif command -v pip3 >/dev/null 2>&1 || command -v pip >/dev/null 2>&1; then
pip install --user bitbucket-jira-cli
else
curl -LsSf uvx.sh/bitbucket-jira-cli/install.sh | sh # installs uv, then bj
fi
fi
On Windows PowerShell, install with:
powershell -ExecutionPolicy ByPass -c "irm https://uvx.sh/bitbucket-jira-cli/install.ps1 | iex"
Then verify, and fix PATH if the install dir is not picked up yet:
command -v bj >/dev/null 2>&1 || export PATH="$HOME/.local/bin:$PATH" # uv/pip user bin
bj --help >/dev/null # confirms bj is installed and runnable
To run bj once without installing it (one-off commands, ephemeral CI), use
uvx bitbucket-jira-cli <args> in place of bj <args>. For repeated use in a
session, install it once with the snippet above so later bj calls just work.
Setup
Authenticate once, like gh auth login:
bj auth login # interactive; logs in Bitbucket and/or Jira
bj auth status # show who you are logged in as
For CI or headless agents (no interactive prompt), pass tokens instead:
export BJ_BITBUCKET_TOKEN=... # Bitbucket API token
export BJ_JIRA_TOKEN=... # Jira API token
# or: bj auth login --bitbucket --with-token < token.txt
Running non-interactively (agents, scripts, CI)
- Set
BJ_PROMPT_DISABLED=1sobjnever waits on a prompt; pass required values as flags or the command fails fast with a clear error. Piped output (non-TTY) already skips prompts. - Set
NO_COLOR=1to drop colors and the spinner (less noise in the transcript). - Add
--jsonfor the full, raw API payload; shape it with--jq '<expr>'(requires thejqbinary onPATH). - Pass
--yes/-yto accept confirmations (merge, close, stop). - Exit codes:
0success,1failure (includes "not logged in"),2usage error. Branch on these instead of parsing text.
gh to bj
gh | bj |
|---|---|
gh auth login / gh auth status | bj auth login / bj auth status |
gh pr create | bj pr create |
gh pr list / gh pr view | bj pr list / bj pr view |
gh pr checkout / gh pr diff | bj pr checkout / bj pr diff |
gh pr review / gh pr comment | bj pr review / bj pr comment |
gh pr merge / gh pr close | bj pr merge / bj pr close |
gh issue … | bj issue … (Jira issues) |
gh repo clone / view / list | bj repo clone / view / list |
gh run list / gh run view | bj pipeline list / bj pipeline view |
gh api | bj api |
gh browse | bj browse |
gh release | bj release (Jira versions) |
gh secret / gh variable | bj variable (--secured for secrets) |
gh config | bj config |
gh search | bj search |
gh alias | bj alias |
gh ssh-key | bj ssh-key |
gh status | bj status |
gh project | bj board (Jira boards/sprints) |
Differences from gh
- Two products behind one CLI: Bitbucket owns
pr,repo,pipeline; Jira ownsissue. Each backend has its own token (BJ_BITBUCKET_TOKEN,BJ_JIRA_TOKEN). bj issuetargets Jira. Issue keys look likePROJ-42, not numbers.bj pipelineis Bitbucket Pipelines, the analog ofgh run.--jsonemits the whole raw Bitbucket/Jira response. There is nogh-style field list; filter with--jqinstead.bj apicalls the Bitbucket or Jira REST API (--backend bitbucket|jira), not a GraphQL endpoint.- A failed auth check exits
1(a normal failure), whereghuses4.
Branch-key automation
bj reads a Jira key from the current git branch (e.g. feature/PROJ-42-thing
gives PROJ-42) and uses it automatically:
bj pr createfills the PR title from the ticket, links the PR to the issue, and transitions the ticket to In Progress.bj pr mergetransitions the linked ticket to Done after a successful merge.
Preview the effect without writing anything using --dry-run; skip all Jira side
effects with --no-jira. If no key is found, bj acts like a plain Bitbucket
client.
Common commands
# Pull requests (Bitbucket)
bj pr create --dry-run # preview title/link/transition
bj pr create --title "..." --yes # non-interactive create
bj pr list --state open --json
bj pr view --json | jq '.title'
bj pr diff
bj pr review --approve # or --request-changes --body "..."
bj pr comment --body "..." # add --file/--line for inline
bj pr merge --squash --delete-branch --yes
# Issues (Jira)
bj issue list --assignee me --json
bj issue view PROJ-42 --json
bj issue create --project PROJ --type Bug --summary "..."
bj issue edit PROJ-42 --field "Story Points=3"
bj issue transition PROJ-42 "In Review"
bj issue fields PROJ-42 # list editable fields on the issue
# Repos and pipelines (Bitbucket)
bj repo clone WORKSPACE/REPO
bj pipeline list --json
bj pipeline run --branch main
Safety
- Run
bj pr create/bj pr mergewith--dry-runfirst when unsure. pr merge,pr close,issue close, andpipeline stopchange state. In an interactive sessionbjasks first; with--yesor when non-interactive it proceeds. Confirm intent with the user before passing--yesto these.