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"
Architecture
client.py:JiraClientclass for REST API calls, auth, and endpointsquery.py:JiraQueryclass for JQL building and search logicrender.py:JiraRendererclass for output formatting (table, JSON, CSV, Markdown)models.py: Pydantic models for Jira structures (JiraIssue,JiraSearchResult,IssueRow)dotenv.py:DotEnvclass for robust.env/local.envloadingcli.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):
- Push to GitHub at
colenio/jira-cli - Configure PyPI Trusted Publisher for this repository
- Tag with version:
git tag v0.1.0and push tag (git push origin v0.1.0) - GitHub Action
.github/workflows/release.ymlbuilds, tests, and publishes to PyPI - 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
Metadata
Release files for colenio-jira-cli 0.1.6
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.1.6.tar.gz | 41.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| colenio_jira_cli-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.6 kB
Release files / colenio_jira_cli-0.1.6.tar.gz
| Download URL | colenio_jira_cli-0.1.6.tar.gz |
|---|---|
| Size | 41.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64fe4a8d1a00f3f05e98087358d4324e5a1c105748f0dd1c785286412bf01aec
|
|
BLAKE2b-256 checksum How to use checksums |
dc9c081e8325041cd21e8082b99c50efaa8ec6e055cddb414e1ffab56bdd93c8
|
| 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 25, 2026.
Transparency logRelease files / colenio_jira_cli-0.1.6-py3-none-any.whl
| Download URL | colenio_jira_cli-0.1.6-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2984c2ecc7e2dc534ae31b72f3d906923a0adead7715fe681de1707a5c7febc0
|
|
BLAKE2b-256 checksum How to use checksums |
cee45d604dafc51f4f2b4fc95a5015b34708fe96958b44b7420d4ad981de19a4
|
| 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 25, 2026.
Transparency log