{"slug": "why-does-atlassian-refuse-to-give-us-a-decent-bitbucket-cli", "title": "Why does Atlassian refuse to give us a decent Bitbucket CLI?", "summary": "A developer built an unofficial Bitbucket CLI that parses Atlassian's OpenAPI specification to wrap API endpoints into shell commands, enabling terminal-based repository management without the web UI. The tool, hosted at github.com/scr2em/bitbucket-cli, uses App Passwords for authentication and is designed for developers in corporate environments who cannot switch providers. The project highlights how OpenAPI specs can bridge the gap between a clunky UI and a streamlined terminal experience, especially for AI workflows.", "body_md": "# Why does Atlassian refuse to give us a decent Bitbucket CLI?\n\nSince a native, developer-friendly tool was missing, I decided to stop complaining and actually build something. I put together a framework that parses their OpenAPI specification file and wraps the API endpoints into a functional CLI tool. The logic was simple: if the API documentation exists, there's no reason we should be forced to click through a sluggish web UI for every single PR or repository setting change.\n\nThe result is an unofficial Bitbucket CLI that actually works. It's not a polished corporate product, but it handles the heavy lifting I actually need in my daily AI workflow. By automating the interaction with the Bitbucket API, I can manage my repos without leaving the terminal, which is a non-negotiable for my productivity.\n\nIf you're stuck in a corporate environment where you can't switch providers, here is a practical tutorial on how I approached the deployment of this tool from scratch:\n\n1. **API Mapping**: I started by pulling the full OpenAPI JSON from Bitbucket to identify which endpoints correspond to the most common CLI actions (listing PRs, checking build statuses, etc.).\n\n2. **Wrapper Logic**: I wrote a parser that converts these API definitions into executable shell commands, handling the authentication headers automatically.\n\n3. **Authentication**: The tool uses App Passwords to authenticate, ensuring you don't have to hardcode your main account credentials into the environment.\n\nFor those who want to see the implementation or try it out, the code is hosted here:\n\n```\nhttps://github.com/scr2em/bitbucket-cli\n```\n\nIt's a raw, community-driven approach to a problem that should have been solved years ago. While it's unofficial, it proves that we don't have to settle for subpar tooling just because a vendor wants to upsell a specific [AI agent](/en/tags/ai%20agent/) or enterprise suite. It’s essentially a deep dive into how we can use OpenAPI specs to bridge the gap between a clunky UI and a streamlined terminal experience. Whether you're doing prompt engineering or standard backend dev, staying in the terminal is just faster.\n\n[Next AI is making code reviews the new bottleneck in the SDLC →](/en/news/6084/)", "url": "https://wpnews.pro/news/why-does-atlassian-refuse-to-give-us-a-decent-bitbucket-cli", "canonical_source": "https://promptcube3.com/en/news/6086/", "published_at": "2026-08-12 22:59:12+00:00", "updated_at": "2026-08-12 23:19:30.884088+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Atlassian", "Bitbucket", "scr2em"], "alternates": {"html": "https://wpnews.pro/news/why-does-atlassian-refuse-to-give-us-a-decent-bitbucket-cli", "markdown": "https://wpnews.pro/news/why-does-atlassian-refuse-to-give-us-a-decent-bitbucket-cli.md", "text": "https://wpnews.pro/news/why-does-atlassian-refuse-to-give-us-a-decent-bitbucket-cli.txt", "jsonld": "https://wpnews.pro/news/why-does-atlassian-refuse-to-give-us-a-decent-bitbucket-cli.jsonld"}}