Skip to main content

A command-line interface for interacting with Jira

Project description

Jira CLI

A command-line interface for interacting with Jira.

This project uses UV for dependency management.

Installation

pip install cac-jira

Authentication

On first-run, you'll be prompted for a Jira API token; generate one here. This will be stored in your system credential store (e.g. Keychain on Mac OS) in an items called cac-jira.

Configuration

On first-run, a configuration file will be generated at ~/.config/cac_jira/config.yaml. In this file you'll need to replace the values of server and username with appropriate values.

server: https://your-jira-instance.atlassian.net
project: YOUR_PROJECT_KEY  # Optional default project
username: your.email@example.com

Usage

The Jira CLI follows a command-action pattern for all operations:

jira <command> <action> [options]

Global Options

  • --verbose: Enable debug output
  • --output [table|json]: Control output format (default table)
  • --help: Show command help

Examples

Issue Commands

List issues in a project:

jira issue list --project PROJ

List issues with additional filtering:

jira issue list --project PROJ

Create a new issue:

jira issue create --project PROJ --type Task --title "Fix login bug" --description "Users can't log in"

Create and assign to yourself:

jira issue create --project PROJ --type Bug --title "Server crash" --assign

Create and immediately start work:

jira issue create --project PROJ --type Story --title "Add login feature" --begin

Add an issue to an epic:

jira issue create --project PROJ --type Task --title "Subtask" --epic PROJ-100

Label an issue:

jira issue label --issue ISSUE_KEY --labels label1,label2

Transition an issue:

jira issue begin --issue ISSUE_KEY    # Start work
jira issue close --issue ISSUE_KEY    # Mark as complete

Project Commands

List all projects:

jira project list

Show a project:

jira project show --name PROJ-123

Advanced Examples

Update an issue's title or description:

jira issue update --issue ISSUE_KEY --title "New issue title" --description "new issue description"

Add a comment to an issue:

jira issue comment --issue ISSUE_KEY --comment "This is a comment."

List all issue IDs matching a label:

jira issue list --output json | jq -r '.[] | select(.Labels | contains("production")) | .ID'

Development

Setup Development Environment

# Install dependencies including dev dependencies
poetry install

# Run tests
poetry run pytest

Please note that tests are still WIP

Project Structure

  • cac_jira/commands/ - Command implementations
    • issue/ - Issue-related commands
    • project/ - Project-related commands
  • cac_jira/cli/ - CLI entry point and argument parsing

Adding New Commands

  1. Create a new action module in the appropriate command directory.
  2. Define a class that inherits from the command's base class.
  3. Implement define_arguments() and execute() methods.

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

cac_jira-0.3.4.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

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

cac_jira-0.3.4-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file cac_jira-0.3.4.tar.gz.

File metadata

  • Download URL: cac_jira-0.3.4.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cac_jira-0.3.4.tar.gz
Algorithm Hash digest
SHA256 1ec0e754467be33dc321de22714d8c39101adcdebbd1dc4620a34af9f42b4eb9
MD5 eaae548ad10e963de8d68f4d125c64e4
BLAKE2b-256 afaf2a88388ceb4aeea7337948055aa74802e4cb04f4e2d4cf21861ad108fd3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cac_jira-0.3.4.tar.gz:

Publisher: create_artifacts_and_publish.yaml on rpunt/cac-jira

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

File details

Details for the file cac_jira-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: cac_jira-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cac_jira-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4795e0e875be54a9eb2a4219dfb3cee3f76c5aa7313289a1510f50e290e6b3c4
MD5 a6a75b70ae148d27285d880c2af5dabe
BLAKE2b-256 d2c449f8c4b99a613f671636a790b61dab130fa2e2e53afad09432486e556079

See more details on using hashes here.

Provenance

The following attestation bundles were made for cac_jira-0.3.4-py3-none-any.whl:

Publisher: create_artifacts_and_publish.yaml on rpunt/cac-jira

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