Learn-skills.dev redmine-cli
Use the `redmine` CLI to interact with Redmine. Activate when the user asks to create, list, update, close, or search issues, log or view time entries, manage versions or memberships, query projects/users/groups, or perform any Redmine project management task. Also activate when the user says "redmine", "issue", "ticket", "time entry", or references Redmine workflows.
git clone https://github.com/NeverSight/learn-skills.dev
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aarondpn/redmine-cli/redmine-cli" ~/.claude/skills/neversight-learn-skills-dev-redmine-cli && rm -rf "$T"
data/skills-md/aarondpn/redmine-cli/redmine-cli/SKILL.mdRedmine CLI
A CLI for the Redmine REST API. Use
redmine <command> --help for detailed flags and examples — this skill only covers what --help cannot tell you.
Available Commands
Only these top-level commands exist. Do NOT invent subcommands that aren't listed here — run
redmine <command> --help to discover subcommands.
| Command | Purpose |
|---|---|
| Create, list, get, update, close, reopen, assign, comment, delete, search, browse issues |
| List, get, create, update, delete projects; list project members |
| Log, list, get, update, delete, summarize time entries |
| List, get project versions (milestones) |
| List, get, create, update, delete project memberships |
| List, get, create, update, delete users |
| List, get, create, update, delete groups; add/remove users |
| List issue categories |
| List trackers |
| List issue statuses |
| Search issues, wiki, news, messages, or browse results |
| Make raw authenticated API requests |
Setup
If the
redmine command is not found, install it:
curl -fsSL https://raw.githubusercontent.com/aarondpn/redmine-cli/main/install.sh | bash
Then run
redmine init for interactive configuration. Use redmine config to verify an existing setup.
Critical Rules
- Always use
when you need to parse output programmatically. JSON goes to stdout only; stderr is separate.-o json - Use
to fetch ALL results. The default limit is 100.--limit 0 - All name-accepting flags (--project, --tracker, --status, --priority, --assignee, --category, --version, --activity) resolve human-readable names automatically. You don't need to look up IDs first.
refers to the current API user.--assignee me
shows all issues regardless of status (default is--status "*"
).open
Permission Gotcha: Users & Groups
Resolving users and groups by name requires admin privileges. If you get a permission error:
- Do NOT retry with the same name
- Use
for the current userme - To discover user IDs without admin access, extract them from other sources:
— theredmine issues list --project <project> -o json
andassigned_to
fields contain user IDs and namesauthor
— lists all project members with their IDsredmine memberships list --project <project> -o json
— journal entries contain user referencesredmine issues get <id> --journals -o json
Workflow: Resolving Ambiguous Values
When a command needs a value from a fixed set (tracker, status, priority, category, version, assignee) and you're not sure of the exact name:
- Query options first:
,redmine trackers list -o json
, etc.redmine statuses list -o json - Present choices to the user via AskUserQuestion with a formatted list
- Use the confirmed value in the command
For users/groups, if the list endpoint fails with a permission error, use the workarounds from the section above instead.
Non-Obvious Behaviors
defaults toredmine issues list
. Use--status open
,--status closed
, or a specific status name.--status "*"
includes comments/history. Also available:redmine issues get <id> --journals
,--children
.--relations
only sends flags you explicitly pass — omitted flags are not changed.redmine issues update- If
is omitted, the configured default project is used (set via--project
).redmine init - Version status filters (
,--open
,--closed
) on--locked
are applied client-side.redmine versions list