jiradc-cli
v1.0.16
Published
Command-line interface for [Jira Data Center](https://developer.atlassian.com/server/jira/platform/rest-apis/). 35 commands across 6 domains — issues, projects, boards, sprints, fields, and users.
Readme
jiradc-cli
Command-line interface for Jira Data Center. 35 commands across 6 domains — issues, projects, boards, sprints, fields, and users.
Install
npm install -g jiradc-cliSetup
export JIRA_URL="https://jira.example.com" # Base URL of your Jira instance
export JIRA_TOKEN="your-personal-access-token" # HTTP Access Token from JiraCommands
All commands output JSON. Add --pretty to pretty-print.
issue
| Command | Description |
|---------|-------------|
| jiradc issue get <key> | Get issue details (--fields to select, --expand for changelog/transitions) |
| jiradc issue search <jql> | Search issues with JQL |
| jiradc issue create | Create an issue (--project, --type, --summary, --description, --custom-fields) |
| jiradc issue update <key> | Update an issue |
| jiradc issue delete <key> | Delete an issue |
| jiradc issue transition <key> <transitionId> | Transition issue to a new status |
| jiradc issue transitions <key> | List available transitions |
| jiradc issue comment <key> | Add a comment |
| jiradc issue comment-edit <key> <commentId> | Edit a comment |
| jiradc issue link <key> <targetKey> | Link two issues (--type link type name) |
| jiradc issue unlink <linkId> | Remove a link |
| jiradc issue link-types | List available link types |
| jiradc issue link-epic <epicKey> <issueKey> | Link an issue to an epic |
| jiradc issue worklog <key> | Add a work log entry |
| jiradc issue get-worklog <key> | Get work log entries |
| jiradc issue changelog <key> | Get issue changelog |
| jiradc issue batch-changelog | Get changelog for multiple issues (--keys) |
| jiradc issue clone <key> | Clone an issue with subtasks |
| jiradc issue batch-create | Create multiple issues from JSON |
| jiradc issue dev-status <key> | Get development status (branches, PRs, commits) |
issue attachment
| Command | Description |
|---------|-------------|
| jiradc issue attachment list <key> | List attachments |
| jiradc issue attachment download <key> <attachmentId> | Download a specific attachment |
| jiradc issue attachment download-all <key> | Download all attachments |
| jiradc issue attachment upload <key> <files...> | Upload files |
| jiradc issue attachment delete <attachmentId> | Delete an attachment |
project
| Command | Description |
|---------|-------------|
| jiradc project list | List projects |
| jiradc project versions <key> | List versions for a project |
| jiradc project components <key> | List components for a project |
board
| Command | Description |
|---------|-------------|
| jiradc board list | List boards (--project, --type: scrum/kanban/simple, --name) |
| jiradc board issues <boardId> | Get issues on a board |
sprint
| Command | Description |
|---------|-------------|
| jiradc sprint list <boardId> | List sprints (--state: future/active/closed) |
| jiradc sprint issues <boardId> <sprintId> | Get issues in a sprint |
| jiradc sprint create <boardId> | Create a sprint |
| jiradc sprint update <sprintId> | Update a sprint |
field
| Command | Description |
|---------|-------------|
| jiradc field search | Search for fields (--query, --type: custom/system) |
| jiradc field options <fieldKey> | Get allowed values for a field (--project, --issue-type) |
user
| Command | Description |
|---------|-------------|
| jiradc user me | Get current user info |
Pagination
Search and list commands accept --max to control page size (Jira DC caps at 50 for agile endpoints). Responses include nextPage — pass it back as --start-at to fetch the next page. When nextPage is null, there are no more results.
Examples
# Get an issue with default fields
jiradc issue get AI-123
# Get an issue with specific fields
jiradc issue get AI-123 --fields summary,status,assignee,customfield_10100
# Search with JQL
jiradc issue search 'project = AI AND status = "In Development" ORDER BY updated DESC'
# Create an issue
jiradc issue create --project AI --type Task --summary "Implement feature X" --description "Details here"
# Create with custom fields
jiradc issue create --project AI --type Story --summary "User login" --custom-fields '{"customfield_10100": "value"}'
# Transition an issue (find transition ID first)
jiradc issue transitions AI-123
jiradc issue transition AI-123 31
# Add a comment
jiradc issue comment AI-123 --body "Fixed in commit abc123"
# Link two issues
jiradc issue link AI-123 AI-456 --type "blocks"
# Log work
jiradc issue worklog AI-123 --time "2h 30m" --comment "Code review"
# List active sprints
jiradc sprint list 42 --state active
# Get sprint issues
jiradc sprint issues 42 100
# Find a custom field key
jiradc field search --query "story points"
# Clone an issue with subtasks
jiradc issue clone AI-123
# Get dev status (linked branches, PRs)
jiradc issue dev-status AI-123