Skip to content

malay44/jira-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jira-cli

An interactive Jira CLI built on top of Atlassian CLI (acli) for fast ticket updates from the terminal.

jira-cli helps developers, QA engineers, support teams, and project maintainers comment on Jira tickets, inspect issue details, switch Atlassian accounts, and move work items through board statuses without opening Jira in a browser.

Why Use jira-cli?

Jira is powerful, but common ticket updates are repetitive. This command-line wrapper keeps the workflow focused:

  • switch Jira accounts using ACLI's native account switcher
  • see the current Jira account in the terminal header
  • enter a Jira issue key such as PROJ-123
  • review ticket title, description, assignee, reporter, priority, status, project, labels, components, versions, and dates
  • add a Jira comment from an interactive terminal prompt
  • change a Jira ticket status using statuses discovered from the related board
  • fall back to useful default statuses if board status discovery is unavailable
  • save custom statuses locally per project so repeated workflows stay fast

Features

  • Interactive Jira ticket workflow: enter an issue key, inspect the ticket, then choose an action.
  • ACLI account switching: starts with acli jira auth switch and offers a switch action later.
  • Current account display: shows the selected Atlassian account in a responsive terminal header.
  • Detailed ticket view: displays useful Jira issue fields before actions are selected.
  • Comment creation: writes comments through acli jira workitem comment create.
  • Dynamic status transitions: discovers board statuses through ACLI board commands.
  • Custom status memory: stores successful custom statuses in ~/.jira-cli/custom-statuses.json.
  • Board status retry control: skips boards whose status lookup already failed, with a refresh option to retry.
  • Zero runtime dependencies: uses Node.js built-ins and the installed Atlassian CLI.

Requirements

  • Node.js 20 or newer
  • Atlassian CLI installed as acli
  • A Jira account authenticated with:
acli jira auth login

Installation

Clone the repository and link the command locally:

git clone https://github.com/malay44/jira-cli.git
cd jira-cli
npm link

Then launch it from any directory:

jira-cli

For development, run from the repository:

npm start

Usage

Start the CLI:

jira-cli

The workflow is:

  1. Choose the Atlassian account in ACLI's account switcher.
  2. Enter the Jira ticket key.
  3. Review the ticket details.
  4. Choose an action:
    • Add comment
    • Change status
    • Switch account
    • Exit

Status Discovery

When changing a ticket status, jira-cli:

  1. Finds boards associated with the ticket's project.
  2. Lets you choose a board if multiple boards exist.
  3. Reads status names from board data.
  4. Shows the current issue status and available target statuses.

If ACLI cannot return board statuses, the wrapper falls back to:

  • To Do
  • In Progress
  • In Review
  • Done

The menu always includes Enter custom status. When a custom status transition succeeds, that status is saved locally for the project and shown next time.

If status lookup fails for a specific board, jira-cli remembers that failure locally and does not retry the same board on the next run. The status menu will include Refresh board statuses so you can force a new lookup when the Jira board configuration changes or ACLI starts returning status data.

Local Cache

Default cache file:

~/.jira-cli/custom-statuses.json

The cache stores:

  • custom statuses that succeeded for each project
  • board ids whose status lookup failed, so the CLI can skip repeated failed calls

Override the cache directory:

JIRA_CLI_DATA_DIR=/path/to/cache jira-cli

Colors

Colors are enabled automatically in interactive terminals.

Disable colors:

NO_COLOR=1 jira-cli

Force colors:

FORCE_COLOR=1 jira-cli

ACLI Commands Used

acli jira auth switch
acli jira auth status
acli jira workitem view <KEY> --fields <common ticket fields> --json
acli jira board search --project <PROJECT> --json --limit 50
acli jira board get --id <BOARD_ID> --json
acli jira workitem comment create --key <KEY> --body <comment>
acli jira workitem transition --key <KEY> --status <status> --yes

Development

Run tests:

npm test

Check syntax:

node --check src/index.js
node --check src/acli.js
node --check src/parser.js
node --check src/prompts.js
node --check src/issue-view.js
node --check src/status-store.js

Project Keywords

Jira CLI, Atlassian CLI wrapper, Jira terminal app, Jira ticket automation, Jira issue comments, Jira status transition CLI, developer productivity CLI, Node.js CLI for Jira.

License

MIT

About

Interactive Jira CLI wrapper around Atlassian CLI for comments, issue details, account switching, and status transitions.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors