Jira CLI
Modular, class-based Jira command-line tool for issue listing, searching, and management.
Features
- List issues by project with optional filtering (status, assignee, labels)
- Search with custom JQL queries
- Find issues by text in summary/description
- View issue details with comments
- Assign issues to users
- Transition issues to new status
- Multiple output formats: table, JSON, CSV, Markdown
- dotenv support: Load credentials from
.envorlocal.envin CWD or parent directories
Installation
Via uv (local development)
cd colenio/tools/jira-cli
uv sync
uv run colenio-jira-cli list --help
Via uvx (remote/published)
uvx colenio-jira-cli list --project PROJ
jira-cli remains available as a compatibility alias.
Setup
Create a .env or local.env file in your working directory:
# Required
JIRA_URL=https://company.atlassian.net
JIRA_EMAIL=user@example.com
JIRA_API_TOKEN=your_api_token_here
# Optional
JIRA_PROJECT=PROJ # Default project for list/find
JIRA_PROJECT_KEY=PROJ # Backward-compatible fallback
Getting your Jira API Token
- Log in to your Jira Cloud instance
- Go to Account Settings → Security
- Click "Create API Token"
- Copy the token and save to
.env
Usage
List issues
# Basic listing
colenio-jira-cli list --project PROJ
# With filters
colenio-jira-cli list --project PROJ --status "In Progress" --assignee "john@example.com"
# With custom JQL
colenio-jira-cli list --project PROJ --jql 'priority = High'
# Different output formats
colenio-jira-cli list --project PROJ --format json
colenio-jira-cli list --project PROJ --format csv > issues.csv
colenio-jira-cli list --project PROJ --format md
Search with JQL
colenio-jira-cli search 'project = PROJ AND status = "To Do" AND assignee is EMPTY'
colenio-jira-cli search 'text ~ "urgent"' --format json
Find by text
colenio-jira-cli find --project PROJ "database migration"
colenio-jira-cli find --project PROJ "performance issue" --max-results 100
View issue details
colenio-jira-cli view PROJ-123
colenio-jira-cli view PROJ-456 --comments
Assign issue
colenio-jira-cli assign PROJ-789 john@example.com
Transition issue
colenio-jira-cli transition PROJ-999 "In Progress" --comment "Starting work"
colenio-jira-cli transition PROJ-999 "Done"
Interactive TUI (Terminal User Interface)
Launch an interactive k9s-style interface for managing Jira issues:
# Basic TUI launch
colenio-jira-cli tui --project PROJ
# TUI will load default project from JIRA_PROJECT env if available
colenio-jira-cli tui
Keyboard Shortcuts in TUI:
| Key | Action |
|---|---|
↑ / ↓ |
Navigate issues up/down |
o |
Open selected issue in browser |
p |
Reset source to project |
f |
Find by text (summary/description) |
j |
Run custom JQL query |
t |
Transition selected issue |
a |
Assign selected issue |
c |
Add comment (plain/md/adf) |
n |
Next comment on selected issue |
b |
Previous comment on selected issue |
u |
Drill up to parent issue |
d |
Drill down to child issues |
Enter |
Execute active query/input |
r |
Refresh issue list |
/ |
Focus live filter |
Esc |
Close input or reset source |
? |
Show help |
q |
Quit TUI |
Transition input format in TUI:
topens transition input for the selected issue.- Enter either transition ID or transition name.
- Optional comment:
<transition> | <comment>
Comment input format in TUI:
copens comment input for the selected issue.- Supported formats:
plain:<text>or just<text>md:<markdown>(lightweight markdown validation)adf:<json>(ADF JSON parse + structure validation)
Installation (TUI included by default):
# Install dependencies
uv sync
# Then use
uv run colenio-jira-cli tui --project PROJ
Or via uvx:
uvx --python 3.11 colenio-jira-cli tui --project PROJ
Running Without uvx
You can run the CLI and TUI without uvx in two common ways.
Option 1: Local repo via uv run
cd colenio/tools/jira-cli
uv sync
uv run colenio-jira-cli tui --project PROJ
Option 2: Virtualenv + pip (no uv required)
python -m venv .venv
# Linux/macOS: source .venv/bin/activate
# Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install -U pip
python -m pip install colenio-jira-cli
colenio-jira-cli tui --project PROJ
Option 3: pip --user (no venv)
Useful for locked-down environments where virtual environments are not allowed.
python -m pip install --user -U pip
python -m pip install --user colenio-jira-cli
colenio-jira-cli tui --project PROJ
If the command is not found on Windows, ensure your user Scripts path is in PATH:
$scripts = Join-Path (py -m site --user-base) "Scripts"
$env:PATH += ";$scripts"
# Or restart the terminal after updating PATH permanently
Development
# Install dev dependencies
uv sync --extra dev --extra local-dev
# Run tests
uv run pytest
# Format and lint
uv run black jira_cli
uv run ruff check jira_cli
# Run standardized local QA scripts
uv run jira-cli-ruff
uv run jira-cli-radon
uv run jira-cli-pylint
uv run jira-cli-check
uv run jira-cli-qa
Additional Docs
PowerShell Integration
Add to $PROFILE (e.g., via dotfiles/aliases.ps1):
function jira-cli {
uvx colenio-jira-cli @args
}
# Or use directly
alias jira = 'uvx colenio-jira-cli'
Then:
jira list --project PROJ
License
MIT
Metadata
Release files for colenio-jira-cli 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| colenio_jira_cli-0.2.1.tar.gz | 56.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| colenio_jira_cli-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 84.9 kB
Release files / colenio_jira_cli-0.2.1.tar.gz
| Download URL | colenio_jira_cli-0.2.1.tar.gz |
|---|---|
| Size | 56.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b0b56f743300a71b6b41003a603bbcd6e1b6a616c02f486ab474cdbfcc5e501f
|
|
BLAKE2b-256 checksum How to use checksums |
af90b8fca4b71c6768c053f3d4930662f2cc94799bad7fcbfc6e6030735371de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 26, 2026.
Transparency logRelease files / colenio_jira_cli-0.2.1-py3-none-any.whl
| Download URL | colenio_jira_cli-0.2.1-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d9855a5c2d166da6a281bdb6dc428c2119e30947204f26562c6b30829d970b3
|
|
BLAKE2b-256 checksum How to use checksums |
3e483959d15ec3a30047adcfd5db746c78b8bfafec066680487116d2e52e30f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 26, 2026.
Transparency log