A small Jira Cloud CLI wrapper built on top of the jira Python library.
uv syncuv sync
uv run pyjiraskill --helpSet the Jira Cloud credentials in your shell:
export JIRA_URL="https://your-domain.atlassian.net"
export JIRA_EMAIL="you@example.com"
export JIRA_API_TOKEN="your-api-token"Notes on Jira Cloud auth:
- Jira Cloud uses an API token with your Atlassian email address.
- Create a token at https://id.atlassian.com/manage-profile/security/api-tokens.
- Some Jira Cloud instances require accountId for assignment; email may not work.
Optional field discovery overrides:
export JIRA_FIELD_DISCOVERY_ISSUE="AV-1"
export JIRA_SPRINT_FIELD="customfield_10020"
export JIRA_STORY_POINTS_FIELD="customfield_10016"
export JIRA_RANK_FIELD="customfield_10019"Add --json to any command to output machine-readable JSON.
List open issues in a project:
uv run pyjiraskill issues list --project ABCList open issues with JSON output and extra fields:
uv run pyjiraskill issues list --project ABC --fields priority --fields labels --jsonList open epics in a project:
uv run pyjiraskill epics list --project ABCList open issues in an epic:
uv run pyjiraskill epic issues --epic ABC-123Swap rank between an epic and another issue:
uv run pyjiraskill epic swap-rank --epic ABC-123 --with XYZ-7List open issues in a sprint:
uv run pyjiraskill sprint issues --sprint 456List all sprints in a project:
uv run pyjiraskill sprint list --project ABCFilter sprint list by state:
uv run pyjiraskill sprint list --project ABC --state activeGet the current sprint for a project:
uv run pyjiraskill sprint current --project ABCIf your project has multiple boards, pass a board ID explicitly:
uv run pyjiraskill sprint current --project ABC --board 123List open issues in the current sprint:
uv run pyjiraskill sprint current-issues --project ABCSprint IDs are numeric. You can usually find them in Jira board URLs that include
?sprint=123 or in the sprint report page.
Create an issue:
uv run pyjiraskill issue add --project ABC --summary "Fix login bug" \
--description "Details about the failure" --issuetype Task --parent ABC-1 --labels bug,urgentTransition an issue:
uv run pyjiraskill issue transition --key ABC-123 --to "In Progress"Move an issue to another sprint:
uv run pyjiraskill issue move-sprint --key ABC-123 --from-sprint 10 --to-sprint 12Add a comment to an issue:
uv run pyjiraskill issue comment --key ABC-123 --text "Looking into this now."List open issues assigned to a user:
uv run pyjiraskill issues assigned --user "user@example.com"Run tests with coverage:
uv run pytestRun lint checks:
uv run ruff check .