A command-line interface for Jira with interactive menus, secure credential storage, and saved queries.
- Interactive menus for creating issues and running queries
- Secure credential storage using system keyring (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- TOML configuration with saved JQL queries
- Issue defaults for faster ticket creation, including custom fields for required project-specific values
curl -fsSL https://raw.githubusercontent.com/eugenetaranov/jiractl/main/install.sh | bashbrew tap eugenetaranov/tap
brew install jiractlgit clone https://github.com/eugenetaranov/jiractl.git
cd jiractl
make build
make install # copies to /usr/local/bingo install github.com/eugenetaranov/jiractl/cmd/jiractl@latestDownload from the releases page.
# Configure server and credentials
jiractl configure
# Run interactive menu
jiractl
# Or use commands directly
jiractl create # Create a new issue
jiractl query # Select and run a saved query
jiractl query "My Open Issues" # Run a specific queryLaunches an interactive menu with options to create issues, run queries, or configure settings.
Interactive setup that prompts for:
- Jira server URL (e.g.,
https://yourcompany.atlassian.net) - Default project key (e.g.,
PROJ) - Username (your email for Atlassian Cloud)
- API token (generate at https://id.atlassian.com/manage-profile/security/api-tokens)
Interactively create a new Jira issue. Prompts for issue type, summary, and description.
Run a saved JQL query. Without a name, shows a menu of available queries.
Manage authentication credentials:
jiractl auth list # Show stored credentials
jiractl auth create # Create/update credentials
jiractl auth delete # Remove credentials
jiractl auth test # Test connection to JiraConfiguration is stored in ~/.jiractl.toml. Credentials are stored securely in the system keyring.
server = "https://yourcompany.atlassian.net"
project = "PROJ"
[issue_defaults]
assignee = "john.doe"
component = "Backend"
issue_type = "Task"
labels = ["team-alpha"]
# Custom fields applied to every created issue. Useful for required fields
# like Work Allocation that your Jira project enforces. Keys are the Jira
# custom field IDs (found in the error message when a create fails, or in
# the field configuration). Values that look like JSON are parsed as JSON
# so select-list fields can use the {"value": "..."} form; everything else
# is sent as a plain string.
[issue_defaults.custom_fields]
customfield_15838 = '{"value": "Operations"}'
customfield_10001 = "some text value"
# My assigned open issues
[[queries]]
name = "My Open Issues"
jql = "project = ${project} AND assignee = currentUser() AND status != Done ORDER BY updated DESC"
limit = 50
# Issues I'm watching
[[queries]]
name = "Watching"
jql = "watcher = currentUser() AND status != Done ORDER BY updated DESC"
limit = 30
# Recently updated in project
[[queries]]
name = "Recent Updates"
jql = "project = ${project} ORDER BY updated DESC"
limit = 20
# High priority bugs
[[queries]]
name = "Critical Bugs"
jql = "project = ${project} AND type = Bug AND priority in (Highest, High) AND status != Done"
limit = 50
# Sprint backlog
[[queries]]
name = "Current Sprint"
jql = "project = ${project} AND sprint in openSprints() ORDER BY rank ASC"
limit = 100
# Unassigned issues
[[queries]]
name = "Unassigned"
jql = "project = ${project} AND assignee is EMPTY AND status != Done ORDER BY created DESC"
limit = 30
# Created this week
[[queries]]
name = "Created This Week"
jql = "project = ${project} AND created >= startOfWeek() ORDER BY created DESC"
limit = 50
# Issues mentioning me in comments
[[queries]]
name = "Mentioned"
jql = "project = ${project} AND (text ~ currentUser() OR comment ~ currentUser()) ORDER BY updated DESC"
limit = 30
# Blocked issues
[[queries]]
name = "Blocked"
jql = "project = ${project} AND status = Blocked ORDER BY priority DESC"
limit = 50
# Due soon
[[queries]]
name = "Due This Week"
jql = "project = ${project} AND due <= endOfWeek() AND due >= startOfDay() AND status != Done ORDER BY due ASC"
limit = 30${project}- Replaced with the configured project key
--debug- Enable debug output-v, --version- Show version information-h, --help- Show help
make build # Build for current platform
make build-all # Build for all platforms
make test # Run tests
make lint # Run linter
make clean # Clean build artifactsMIT