Use this skill for service operations only. DO NOT use this skill for CLI implementation lifecycle work such as creating, testing, updating, troubleshooting, validating, removing, or documenting the CLI tool itself; delegate those tasks to cli-tool-expert. Execute Jira ticket operations using the `jira` CLI tool. CLI interface for Jira Cloud tickets and projects: list, get, create, update, comment, and transition tickets, plus project discovery. Triggers: jira, jira cli, jira tickets, jira ticket, jira projects, list jira tickets, list jira projects, create jira ticket, update jira ticket, transition jira ticket
Resources
1Install
npx skillscat add adbertram/cli-tools/jira-cli Install via the SkillsCat registry.
| Task | Command |
|---|---|
| Show CLI version | jira --version |
| List profiles | jira auth profiles list --table |
| Check auth | jira auth status --table |
| List projects | jira projects list --query Eng --table |
| Get a project | jira projects get ENG |
| List tickets | jira tickets list --filter "project:ENG" --limit 25 |
| Search with JQL | jira tickets list --jql "project = ENG ORDER BY updated DESC" |
| Get a ticket | jira tickets get ENG-1 |
| Create a ticket | jira tickets create --project ENG --summary "Title" |
| Update a ticket | jira tickets update ENG-1 --summary "New title" |
| Add a comment | jira tickets comment ENG-1 --body "Comment text" |
| List transitions | jira tickets transitions ENG-1 |
| Transition a ticket | jira tickets transition ENG-1 --transition-id 31 |
| </quick_start> |
For smoke tests and exploratory list commands, include at least one real restriction such as project = ENG, status = "To Do", or assignee = currentUser() before ORDER BY. Do not smoke-test the Devolutions profile with only ORDER BY updated DESC.
site_basicuses Atlassian account email + classic API token againsthttps://<site>.atlassian.net/rest/api/3/...oauth_authorization_codeuses an Atlassian Developer Console 3LO app and calls Jira throughhttps://api.atlassian.com/ex/jira/{cloudId}/...scoped_api_tokenuses Atlassian account email + scoped API token and also calls Jira throughhttps://api.atlassian.com/ex/jira/{cloudId}/...
Create the profile first, then log into it:
jira auth profiles create my-site --auth-type site_basic
jira auth login --profile my-siteBefore passing --profile, run jira auth profiles list --table and use an
existing profile name. For normal commands, omit --profile to use the active
profile.
For OAuth 2.0 3LO profiles, bind the target Jira Cloud site during profile
creation so login can choose the correct resource when the OAuth grant includes
multiple Jira sites:
jira auth profiles create devolutions \
--auth-type oauth_authorization_code \
--auth-param BASE_URL=https://devolutions.atlassian.net
jira auth login --profile devolutionsFor ad-hoc Python probes of Jira config, use the installed Jira CLI interpreter
and pass the profile explicitly:
launcher="$(command -v jira)"
interpreter="$(head -1 "$launcher" | sed 's/^#!//')"
"$interpreter" -c "from jira_cli.config import get_config; print(get_config(profile='devolutions').env_file_path)"Do not expect JIRA_PROFILE=... to affect direct imports. Jira's ad-hoc Python
config resolution uses get_config(profile='...') / Config(profile='...'),
while normal CLI commands use --profile and command-specific runtime
resolution.