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
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>

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

# Run tests
uv run pytest

# Format and lint
uv run black jira_cli
uv run ruff check jira_cli

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.0

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.0
File Size Uploaded
colenio_jira_cli-0.2.0.tar.gz 49.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for colenio-jira-cli 0.2.0
File Interpreter ABI Platform
colenio_jira_cli-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 68.9 kB

Release files / colenio_jira_cli-0.2.0.tar.gz

Download URL colenio_jira_cli-0.2.0.tar.gz
Size 49.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cc5ba2a3922f318b90c487c8a76d1f3efe07a751a6d4fc3c74ae0492f4c5ef28
BLAKE2b-256 checksum
How to use checksums
b1a6c45add4bd96f0bc3bb692ccdbda90c451e91deea98eb3b7c4c67c24ceb74
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.0-py3-none-any.whl

Download URL colenio_jira_cli-0.2.0-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a28da060c6c24dc86e2ed391bca2f5123899d71d9ab8492f6055b61d24983b20
BLAKE2b-256 checksum
How to use checksums
ec296a82855e2e16590b971ee4ca6af05cf13bd727d0b06adff8150ba7b387af
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

0.2.1

2 release files

This release

0.2.0 This release

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