██╗ ██╗
██║ ██║ your helpful jira buddy
██║ ██║
██ ██║ ██ ██║
╚█████╔╝ ╚█████╔╝
╚════╝ ╚════╝
A fast, friendly CLI for Jira Cloud. Fetch tickets as markdown, manage your sprint board in the terminal, generate sprint summaries, and pipe everything into your AI coding agent.
npm install -g get-jj- Create a
.envfile in JJ's install directory, or set environment variables directly:
# Find where JJ was installed, then create .env there:
jj help # shows install location in the banner
# Or just set env vars in your shell profile:
export JIRA_BASE_URL=https://yourcompany.atlassian.net
export JIRA_EMAIL=you@example.com
export JIRA_API_TOKEN=your-token-here
export JIRA_PROJECT=WEB
export JIRA_BOARD_ID=36- You'll need these credentials:
JIRA_BASE_URL— Your Jira Cloud URL (e.g.,https://yourcompany.atlassian.net)JIRA_EMAIL— Your Jira account emailJIRA_API_TOKEN— Generate one at Atlassian API TokensJIRA_PROJECT— Your project key (e.g.,WEB,APP,ENG)JIRA_BOARD_ID— Find it in your board URL:/jira/software/projects/WEB/boards/<ID>
- Verify it works:
jj listgit clone https://github.com/jasperfurniss/jj.git
cd jj
npm install
npm run build
npm link
cp .env.example .env # fill in your credentials| Command | Description |
|---|---|
jj |
Interactive: list issues, select, view as markdown |
jj <KEY> |
Fetch a specific issue (e.g., jj WEB-1234) |
jj list |
List your assigned sprint issues |
jj board |
Interactive kanban board — move cards between columns |
jj sprint |
Sprint overview — all team issues grouped by status |
jj sprint --by-person |
Sprint overview grouped by person |
jj summary |
Sprint roundup — auto-copies Slack-formatted summary to clipboard |
jj summary --concise |
Shorter format for quick updates |
jj ready <number> |
Transition an issue to Review (e.g., jj ready 1234) |
jj open <KEY> |
Open issue in browser |
jj comment <KEY> |
Post a comment (-m "msg" or opens $EDITOR) |
jj create |
Create an issue (-m, $EDITOR, or pipe from stdin) |
jj clone <KEY> |
Clone an issue (keeps type, parent, labels) |
jj whois <name> |
What's assigned to this person? |
jj search <text> |
Search issues by summary |
jj help |
Show all commands |
Most commands support --pipe for non-interactive, machine-readable output.
JJ is built for developers and PMs. The sprint management commands are designed for the weekly rhythm of managing a Jira board:
jj summary— The big one. Generates a Slack-ready sprint roundup covering the entire team: Sprint Focus, PTO Radar, Agenda Highlights, Key Milestones, and Primary Focus Areas broken out by person. Automatically copies to your clipboard in Slack format — just paste into your squad channel and fill in the PTO days, milestones, and commentary. Use--concisefor a shorter version.jj sprint— Full sprint snapshot showing all team issues grouped by status. Use--by-personto see what each person is working on.jj whois <name>— Check someone's plate before standup or 1:1s.jj board— Full kanban board in your terminal. Drag cards between columns with keyboard or mouse.
JJ comes with agent skills that make working with Jira a breeze in AI coding assistants.
JJ's --pipe mode outputs clean markdown to stdout, making it a perfect tool for AI agents. When your agent sees a Jira issue key like WEB-1234, it can automatically fetch the full ticket context.
Copy the rule into your Cursor config:
cp skills/cursor-rule.mdc ~/.cursor/rules/jj.mdcNow when you mention a Jira key in Cursor, it'll fetch the ticket automatically.
Append the skill to your project's CLAUDE.md (or global ~/.claude/CLAUDE.md):
cat skills/claude-code.md >> CLAUDE.mdAll configuration is via environment variables in .env. See .env.example for the full list.
| Variable | Default | Description |
|---|---|---|
JIRA_DEFAULT_JQL |
Current user's open sprint | Default query for jj list |
JIRA_OUTPUT_DIR |
./jira-output |
Where downloaded attachments go |
JJ_READY_TRANSITION |
REVIEW |
Transition name for jj ready |
JJ_COLUMNS |
["To Do","In Progress","Review","Done"] |
Board column names (JSON) |
JJ_STATUS_MAP |
See .env.example |
Status-to-column mapping (JSON) |
JJ_COLUMN_TRANSITIONS |
See .env.example |
Transition name candidates (JSON) |
MIT