Version 2.0.0 removes all interactive prompts to make the CLI fully scriptable and automation-friendly for CI/CD pipelines.
jira init- Usejira configwith explicit flags instead
jira config- No longer falls back to interactive modejira issue create- All options now required via CLI flagsjira issue edit- Requires explicit field flagsjira issue delete- Requires--forceflagjira sprint list- Requires--boardwhen multiple boards exist
--description-fileoption for reading multi-line descriptions from files
Before (v1.x - Interactive):
jira init
# Interactive prompts for server, username, tokenAfter (v2.0 - Explicit):
# One-time setup with all options
jira config --server https://jira.company.com \
--username user@company.com \
--token your-api-token
# Or use environment variables (recommended for CI/CD)
export JIRA_HOST=jira.company.com
export JIRA_API_TOKEN=your-api-token
export JIRA_USERNAME=user@company.comBefore (v1.x - Interactive):
jira issue create
# Interactive prompts for project, type, summary, descriptionAfter (v2.0 - Explicit):
# With required flags
jira issue create --project PROJ \
--type Bug \
--summary "Issue summary" \
--description "Issue description"
# For long descriptions, use files
jira issue create --project PROJ \
--type Story \
--summary "New feature" \
--description-file ./spec.mdBefore (v1.x - Interactive):
jira issue edit PROJ-123
# Interactive prompts with editorAfter (v2.0 - Explicit):
# Update specific fields
jira issue edit PROJ-123 --summary "New summary"
jira issue edit PROJ-123 --description-file ./updated-spec.md
jira issue edit PROJ-123 --assignee john.doe --priority HighBefore (v1.x - Interactive):
jira issue delete PROJ-123
# Confirmation promptAfter (v2.0 - Explicit):
# Requires --force flag
jira issue delete PROJ-123 --forceBefore (v1.x - Interactive):
jira sprint list
# Board selection prompt if multiple boardsAfter (v2.0 - Explicit):
# List boards first
jira sprint boards
# Then specify board
jira sprint list --board 123- Scriptable: Use in CI/CD pipelines without timeouts
- Reliable: No hanging on prompts in automated environments
- Fast: No interactive delays
- Clear: Explicit requirements shown upfront
- Flexible: Choose between CLI flags or environment variables
- Powerful: File-based input for complex descriptions
- Config file: Existing configuration files continue to work
- Environment variables: No changes to env var support
- API: JIRA API integration unchanged
- All commands: Same functionality, just explicit parameters
jira initcommand- Interactive prompts when options missing
- Editor-based description input (use
--description-fileinstead)
Old approach:
# This would hang in CI/CD
- run: jira issue createNew approach:
- run: |
jira issue create \
--project $PROJECT_KEY \
--type Bug \
--summary "Build failed: $CI_JOB_NAME" \
--description "Build log: $CI_JOB_URL"Old approach:
#!/bin/bash
# Would require user interaction
jira init
jira issue createNew approach:
#!/bin/bash
# Fully automated
export JIRA_HOST=jira.company.com
export JIRA_API_TOKEN=$TOKEN
export JIRA_USERNAME=bot@company.com
# Create description file
cat > /tmp/desc.txt <<EOF
Issue details:
- Component: $COMPONENT
- Environment: $ENV
EOF
jira issue create \
--project INFRA \
--type Task \
--summary "Deploy $COMPONENT to $ENV" \
--description-file /tmp/desc.txtOld approach:
# Opens editor
jira issue create # Then write in $EDITORNew approach:
# Create description in your preferred editor
vim feature-spec.md
# Then use file
jira issue create \
--project PROJ \
--type Story \
--summary "Add feature" \
--description-file ./feature-spec.mdProblem:
$ jira issue create
Error: Missing required options for creating an issue.Solution: Add all required flags:
jira issue create --project PROJ --type Bug --summary "Summary text"Problem:
$ jira config
Error: Configuration requires explicit options.Solution: Use explicit configuration:
jira config --server https://jira.company.com \
--username user@company.com \
--token your-tokenProblem:
$ jira sprint list
Multiple boards found:
1 Board 1 (scrum)
2 Board 2 (kanban)
Error: Board ID required when multiple boards existSolution: Specify board ID:
jira sprint list --board 1All commands now show clearer help with examples:
jira issue create --help
jira issue edit --help
jira config --helpError messages now include usage examples:
$ jira issue create
Error: Missing required options for creating an issue.
Usage: jira issue create --project <KEY> --type <TYPE> --summary <TEXT>
Example:
jira issue create --project TEST --type Bug --summary "Login fails"- Check updated README.md for detailed examples
- Review CLAUDE.md for development patterns
- Open an issue on GitHub for questions
We value your feedback on this migration! Please let us know:
- What worked well in your migration
- What was challenging
- What documentation could be improved
Open an issue at: https://github.com/pchuri/jira-cli/issues