Skip to main content

Modular Jira CLI tool for issue listing, filtering, and management

Project description

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"

Architecture

  • client.py: JiraClient class for REST API calls, auth, and endpoints
  • query.py: JiraQuery class for JQL building and search logic
  • render.py: JiraRenderer class for output formatting (table, JSON, CSV, Markdown)
  • models.py: Pydantic models for Jira structures (JiraIssue, JiraSearchResult, IssueRow)
  • dotenv.py: DotEnv class for robust .env/local.env loading
  • cli.py: Click CLI commands (list, search, find, view, assign, transition)

All code uses proper classes, no helper functions. Follows informix-migration patterns.

Development

# Install dev dependencies
uv sync --all-groups

# Run tests
uv run pytest

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

Distribution

This tool is designed for publishing via uvx (like helmrelease-verifier):

  1. Push to GitHub at colenio/jira-cli
  2. Configure PyPI Trusted Publisher for this repository
  3. Tag with version: git tag v0.1.0 and push tag (git push origin v0.1.0)
  4. GitHub Action .github/workflows/release.yml builds, tests, and publishes to PyPI
  5. Package can be invoked anywhere with: uvx colenio-jira-cli list --project PROJ

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colenio_jira_cli-0.1.3.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

colenio_jira_cli-0.1.3-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file colenio_jira_cli-0.1.3.tar.gz.

File metadata

  • Download URL: colenio_jira_cli-0.1.3.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for colenio_jira_cli-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ef8cba83ad62f4d8472c96b346261f0a2763fb3f140751473f43c844ca04567b
MD5 29d26d0d76545f483dcde5d7e2b18c56
BLAKE2b-256 a1d808b9e85e040b91112db875ec1f46eb080334ef77b9a075d01d6744056f0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for colenio_jira_cli-0.1.3.tar.gz:

Publisher: release.yml on colenio/jira-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file colenio_jira_cli-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for colenio_jira_cli-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6cfee669bac0844a7233097492da80160102488fdb747d0ac0124afd144e5473
MD5 8ba852527132e4491c60a0c6bd319062
BLAKE2b-256 7c7dcdb907eb75f6580aaf44706200562de2698d83549c3a57da59e14bdfa4fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for colenio_jira_cli-0.1.3-py3-none-any.whl:

Publisher: release.yml on colenio/jira-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page