Skip to main content

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 .env or local.env in 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

  1. Log in to your Jira Cloud instance
  2. Go to Account Settings → Security
  3. Click "Create API Token"
  4. 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:

  • t opens transition input for the selected issue.
  • Enter either transition ID or transition name.
  • Optional comment: <transition> | <comment>

Comment input format in TUI:

  • c opens 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)

Source distribution for colenio-jira-cli 0.2.1
File Size Uploaded
colenio_jira_cli-0.2.1.tar.gz 56.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for colenio-jira-cli 0.2.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page