Create Jira tickets, add comments, and list issues from your terminal using a Bearer token.
No git actions yet (that can be added later).
- Auth
jira auth login— store base URL and Bearer token (token saved to OS keychain viakeyring)jira auth whoami— verify token against/rest/api/2/myselfjira auth logout— clear stored token for the current base URL
- Tickets
jira ticket create— create an issue (Task,Bug,Story,Spike)jira ticket comment— add a comment to an issue (inline or via$EDITOR)jira ticket list— list issues (open by default), with filters and JSON output
Requires Python 3.9+
From the project root (where pyproject.toml / setup.cfg live):
pip install -e . # dev install
# or:
pipx install . # global user install (recommended)
Dependencies you may want:
pip install keyring click requests
-
Login
jira auth login
Base URL: https://jira.yourdomain.com
This stores:
- Base URL in:
~/.config/jira/config.json(or$XDG_CONFIG_HOME/jira/config.json) - Token in your OS keychain under service
jira-bearer(ifkeyringis installed)
-
Create a ticket
jira ticket create
-
Comment on a ticket
jira ticket comment PP-123 -b "Deployed to staging."
jira ticket comment PP-123
-
List open tickets in a project
jira ticket list -p PP
jira ticket list -p PP --mine
jira ticket list -p PP --all
jira ticket list -p PP --jql 'labels = pp-transaction-consumer'
jira ticket list -p PP -n 20 --json
jira auth login
# prompts for base URL & token and validates them
jira auth whoami
# shows current base URL and validates token via /rest/api/2/myself
jira auth logout
# clears saved token for the current base URL
jira ticket create
-p, --project Project key (prompted if omitted)
-t, --type Task | Bug | Story | Spike (default: Task)
-s, --summary Issue title (prompted if omitted)
-d, --desc Issue description
-l, --label Repeatable label flag (e.g., -l foo -l bar)
--priority Priority name (e.g., Highest, High, Normal, Low)
--base-url Override saved base URL
--token Override stored Bearer token
--json Print raw JSON response
jira ticket comment ISSUE-KEY
-b, --body Comment text (or omit to open $EDITOR)
--base-url Override saved base URL
--token Override stored Bearer token
jira ticket list
-p, --project Project key (prompted if omitted)
--all Include Done/
jira ticket assign PP-123 --email [email protected]
jira ticket assign PP-123 --email "svetoslav" --first
jira ticket assign PP-123 --account-id 557058:abcd-1234-... jira ticket assign PP-123 --user svetoslav.nenov
jira ticket assign PP-123 --account-id 557058:abcd-1234-5678-...
jira ticket assign PP-123 --user svetoslav.nenov
jira ticket assign PP-123 --email [email protected]
jira ticket assign PP-123 --email "svetoslav" --first
jira ticket open PP-123
jira ticket open PP-123 --print-only
jira ticket open PP-123 --no-validate
jira ticket open PP-123 --browser chrome
jira ticket open PP-123 --base-url https://jira.weareplanet.com --token "$JIRA_BEARER_TOKEN"