Skip to content

Latest commit

 

History

History
1405 lines (1045 loc) · 78.7 KB

File metadata and controls

1405 lines (1045 loc) · 78.7 KB

redmine CLI usage

Generated from Redmine API 1.7.1+redmine.6.1.

Global usage

redmine [command] [subcommand] [flags]

Set REDMINE_HOST and REDMINE_API_KEY, or run redmine auth login --profile <name> --host <url> --api-key <key>. Login validates credentials with GET /users/current.json before saving them. Successful login stores or updates the selected profile and makes it current.

Common flags: --profile, --host, --api-key, --username, --password, --switch-user, --output json|yaml|raw, --config.

Profile selection order: --profile, REDMINE_PROFILE, current profile from config, default.

Request body commands accept generated body flags, repeated --field key=value, or --body @file.json.

Authentication

redmine auth login --profile <name> --host <url> --api-key <key>

Checks the credentials with GET /users/current.json and saves them to the selected profile only after a successful response. The selected profile is resolved from --profile, REDMINE_PROFILE, current config profile, or default. Successful login makes the selected profile current. The API key can also be read from stdin with --stdin.

redmine auth status

Loads authentication from flags, environment, or the selected profile, calls GET /users/current.json, and prints the resolved profile, host, auth method, authenticated user, and status.

redmine auth list

Lists saved profiles and marks the current profile.

redmine auth use <profile>

Sets the current profile used when --profile and REDMINE_PROFILE are not provided.

redmine auth logout

Removes the selected profile. Use redmine auth logout --all to remove the entire config file.

Examples

redmine auth login --profile work --host https://redmine.example.com --api-key "$REDMINE_API_KEY"
redmine auth login --profile client --host https://client-redmine.example.com --api-key "$CLIENT_REDMINE_API_KEY"
redmine auth list
redmine auth use work
redmine auth status
redmine --profile client issue list --limit 20
redmine issue list --limit 20
redmine issue show 123 --include journals
redmine issue create --project-id my-project --subject "Fix checkout"
redmine project list

Commands

issue

  • redmine issue list - List issues
  • redmine issue create - Create issue
  • redmine issue show <issue_id> - Show issue
  • redmine issue update <issue_id> - Update issue
  • redmine issue delete <issue_id> - Delete issue
  • redmine issue add-watcher <issue_id> - Add watcher
  • redmine issue remove-watcher <issue_id> <user_id> - Remove watcher
  • redmine issue list-by-project <project_id> - List issues by project
  • redmine issue create-under-project <project_id> - Create issue under project

project

  • redmine project list - List projects
  • redmine project create - Create project
  • redmine project show <project_id> - Show project
  • redmine project update <project_id> - Update project
  • redmine project delete <project_id> - Delete project
  • redmine project archive <project_id> - Archive project
  • redmine project close <project_id> - Close project
  • redmine project reopen <project_id> - Reopen project
  • redmine project unarchive <project_id> - Unarchive project

project-membership

  • redmine project-membership show <membership_id> - Show membership
  • redmine project-membership update <membership_id> - Update membership
  • redmine project-membership delete <membership_id> - Delete membership
  • redmine project-membership list <project_id> - List memberships
  • redmine project-membership create <project_id> - Create membership

user

  • redmine user list - List users
  • redmine user create - Create user
  • redmine user show-current - Show current user
  • redmine user show <user_id> - Show user
  • redmine user update <user_id> - Update user
  • redmine user delete <user_id> - Delete user

time-entry

  • redmine time-entry create-under-issue <issue_id> - Create time entry under issue
  • redmine time-entry list-by-project <project_id> - List time entries by project
  • redmine time-entry create-under-project <project_id> - Create time entry under project
  • redmine time-entry list - List time entries
  • redmine time-entry create - Create time entry
  • redmine time-entry show <time_entry_id> - Show time entry
  • redmine time-entry update <time_entry_id> - Update time entry
  • redmine time-entry delete <time_entry_id> - Delete time entry

news

  • redmine news list - List news
  • redmine news show <news_id> - Show news
  • redmine news update <news_id> - Update news
  • redmine news delete <news_id> - Delete news
  • redmine news list-by-project <project_id> - List news by project
  • redmine news create <project_id> - Create news

issue-relation

  • redmine issue-relation list <issue_id> - List issue relations
  • redmine issue-relation create <issue_id> - Create issue relation
  • redmine issue-relation show <issue_relation_id> - Show issue relation
  • redmine issue-relation delete <issue_relation_id> - Delete issue relation

version

  • redmine version list-by-project <project_id> - List versions by project
  • redmine version create <project_id> - Create version
  • redmine version show <version_id> - Show version
  • redmine version update <version_id> - Update version
  • redmine version delete <version_id> - Delete version

wiki-page

  • redmine wiki-page list <project_id> - List wiki pages
  • redmine wiki-page show <project_id> <wiki_page_title> - Show wiki page
  • redmine wiki-page create-or-update <project_id> <wiki_page_title> - Create or update wiki page
  • redmine wiki-page delete <project_id> <wiki_page_title> - Delete wiki page
  • redmine wiki-page show-by-specific-version <project_id> <wiki_page_title> <version_id> - Show wiki page by specific version

query

  • redmine query list - List queries

attachment

  • redmine attachment download-file <attachment_id> <filename> - Download attachment file
  • redmine attachment download-thumbnail <attachment_id> - Download thumbnail
  • redmine attachment show <attachment_id> - Show attachment
  • redmine attachment update <attachment_id> - Update attachment
  • redmine attachment delete <attachment_id> - Delete attachment
  • redmine attachment upload-file - Upload attachment file

issue-status

  • redmine issue-status list - List issue statuses

tracker

  • redmine tracker list - List trackers

enumeration

  • redmine enumeration list-document-categories - List document categories
  • redmine enumeration list-issue-priorities - List issue priorities
  • redmine enumeration list-time-entry-activities - List time entry activities

issue-category

  • redmine issue-category show <issue_category_id> - Show issue category
  • redmine issue-category update <issue_category_id> - Update issue category
  • redmine issue-category delete <issue_category_id> - Delete issue category
  • redmine issue-category list <project_id> - List issue categories
  • redmine issue-category create <project_id> - Create issue category

role

  • redmine role list - List roles
  • redmine role show <role_id> - Show role

group

  • redmine group list - List groups
  • redmine group create - Create group
  • redmine group show <group_id> - Show group
  • redmine group update <group_id> - Update group
  • redmine group delete <group_id> - Delete group
  • redmine group add-user-to <group_id> - Add user to group
  • redmine group remove-user-from <group_id> <user_id> - Remove user from group

custom-field

  • redmine custom-field list - List custom fields

search

  • redmine search search-within-project <project_id> - Search within project
  • redmine search run - Search

file

  • redmine file list <project_id> - List files
  • redmine file create <project_id> - Create file

my-account

  • redmine my-account show - Show my account
  • redmine my-account update - Update my account

journal

  • redmine journal update <journal_id> - Update journal

repository

  • redmine repository add-related-issue <project_id> <repository_id> <revision> - Add related issue
  • redmine repository remove-related-issue <project_id> <repository_id> <revision> <issue_id> - Remove related issue

Command reference

redmine issue list

List issues

  • Operation: GET /issues.{format} (getIssues)
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --sort <string>: Sort order. Comma-separated list of field or field:desc. Default direction is ascending. Examples: id:desc, status:desc,id
    • --include <string>: Comma-separated list of associated data to include for each issue. Values: attachments (file attachments), relations (issue relations)
    • --issue-id <string>: Filter by issue ID. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: 1, >=100, ><1|100
    • --project-id <string>: Filter by project. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: mine (projects where current user is a member), bookmarks (bookmarked projects) Examples: 1|2, mine, !mine
    • --subproject-id <string>: Filter by subproject. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *, !*
    • --tracker-id <string>: Filter by tracker. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !3
    • --status-id <string>: Filter by issue status. Format: [operator]value[|value2|...] Operators: o (open), = (default), ! (not equal), c (closed), * (any), ev (has ever been), !ev (has never been), cf (changed from) Examples: o, 1|2, c, !3
    • --priority-id <string>: Filter by priority. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !3
    • --assigned-to-id <string>: Filter by assignee. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none), ev (has ever been), !ev (has never been), cf (changed from) Special values: me (current user) Examples: 1, me, !*, !me
    • --author-id <string>: Filter by author. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me, !me
    • --author-group <string>: Filter by author's group. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2
    • --author-role <string>: Filter by author's role. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2
    • --member-of-group <string>: Filter by assignee's group membership. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1, *
    • --assigned-to-role <string>: Filter by assignee's role. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1, *
    • --fixed-version-id <string>: Filter by target version. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !*
    • --fixed-version-due-date <string>: Filter by target version's due date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), nd (tomorrow), w (this week), lw (last week), l2w (last 2 weeks), nw (next week), m (this month), lm (last month), nm (next month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), t+ (in n days), >t+ (in more than n days), <t+ (in less than n days), ><t+ (between n1 and n2 days from now), * (any), !* (none) Examples: >=2024-01-01, t, >t-7
    • --fixed-version-status <string>: Filter by target version's status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Values: open, locked, closed Examples: open, open|locked, !closed
    • --category-id <string>: Filter by category. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !*
    • --parent-id <string>: Filter by parent issue. Format: [operator]value Operators: = (exact parent ID), ~ (descendant of, subtree search), * (any, i.e. is a subtask), !* (none, i.e. is a root issue) Examples: 123, ~123, *, !*
    • --child-id <string>: Filter by child issue. Format: [operator]value Operators: = (exact child ID), ~ (ancestor of, subtree search), * (any, i.e. has subtasks), !* (none, i.e. is a leaf issue) Examples: 123, ~123, *, !*
    • --cf-x <object>: Filter by custom field value. Replace x with the custom field ID (e.g., cf_1, cf_12). Format and operators depend on the custom field type (string, int, date, list, etc.) and follow the same conventions as other filter parameters. Examples: cf_1=~keyword, cf_5=1|2, cf_10=>=2024-01-01
    • --subject <string>: Filter by subject. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, ^prefix
    • --description <string>: Filter by description. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, !~excluded
    • --notes <string>: Filter by journal notes. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword
    • --created-on <string>: Filter by creation date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, t, >t-7, lm
    • --updated-on <string>: Filter by last updated date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, t, >t-7, lm
    • --closed-on <string>: Filter by closed date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, t, >t-7, lm
    • --start-date <string>: Filter by start date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), nd (tomorrow), w (this week), lw (last week), l2w (last 2 weeks), nw (next week), m (this month), lm (last month), nm (next month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), t+ (in n days), >t+ (in more than n days), <t+ (in less than n days), ><t+ (between n1 and n2 days from now), * (any), !* (none) Examples: >=2024-01-01, t, >t-7
    • --due-date <string>: Filter by due date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), nd (tomorrow), w (this week), lw (last week), l2w (last 2 weeks), nw (next week), m (this month), lm (last month), nm (next month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), t+ (in n days), >t+ (in more than n days), <t+ (in less than n days), ><t+ (between n1 and n2 days from now), * (any), !* (none) Examples: >=2024-01-01, t, >t-7
    • --estimated-hours <string>: Filter by estimated hours. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: >=5, ><1|10, !*
    • --spent-time <string>: Filter by total spent time. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: >=5, ><1|10, !*
    • --done-ratio <string>: Filter by done ratio (percentage). Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: >=50, ><0|99, 100
    • --is-private <string>: Filter by private flag. Format: [operator]value Operators: = (default), ! (not equal) Values: 1 (private), 0 (not private) Examples: 1, 0
    • --attachment <string>: Filter by attachment filename. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~report, *.pdf
    • --attachment-description <string>: Filter by attachment description. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~screenshot
    • --watcher-id <string>: Filter by watcher. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me, !me
    • --updated-by <string>: Filter by user who updated the issue. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me
    • --last-updated-by <string>: Filter by user who last updated the issue. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me
    • --project-status <string>: Filter by project status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Values: 1 (active), 5 (closed) Examples: 1, !5
    • --relates <string>: Filter by "relates to" relation. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), =p (same project), =!p (different project), !p (not in project), *o (related to open issue), !o (related to closed issue), * (any), !* (none) Examples: 123, =p, *o, *
    • --duplicates <string>: Filter by "duplicates" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --duplicated <string>: Filter by "duplicated by" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --blocks <string>: Filter by "blocks" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *o
    • --blocked <string>: Filter by "blocked by" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *o
    • --precedes <string>: Filter by "precedes" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --follows <string>: Filter by "follows" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --copied-to <string>: Filter by "copied to" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --copied-from <string>: Filter by "copied from" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --any-searchable <string>: Full-text search across all searchable fields. Format: <operator>value Operators: ~ (contains all words), *~ (contains any word), !~ (not contains) Examples: ~keyword, *~foo bar
    • --query-id <integer>: ID of a saved query to apply. When specified, the saved query's filter criteria are used. Other filter parameters in the same request are ignored. Use GET /queries.json to retrieve available saved queries.
    • --x-redmine-nometa <integer>

redmine issue create

Create issue

  • Operation: POST /issues.{format} (createIssue)
  • Body root: issue
  • Body flags:
    • --assigned-to-id <integer>
    • --category-id <integer>
    • --custom-field-values <object>
    • --custom-fields <object>
    • --description <string>
    • --done-ratio <integer>
    • --due-date <string:date>
    • --estimated-hours <number>
    • --fixed-version-id <integer>
    • --is-private <boolean>
    • --parent-issue-id <integer>
    • --priority-id <integer>
    • --project-id <integer|string> required
    • --start-date <string:date>
    • --status-id <integer>
    • --subject <string> required
    • --tracker-id <integer>
    • --uploads <object>
    • --watcher-user-ids <integer>

redmine issue show <issue_id>

Show issue

  • Operation: GET /issues/{issue_id}.{format} (getIssue)
  • Arguments:
    • issue_id
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: children (child issues), attachments (file attachments), relations (issue relations), changesets (associated VCS changesets), journals (change history and notes), watchers (users watching the issue), allowed_statuses (status transitions available for the current user)

redmine issue update <issue_id>

Update issue

  • Operation: PUT /issues/{issue_id}.{format} (updateIssue)
  • Arguments:
    • issue_id
  • Body flags:
    • --issue <object>

redmine issue delete <issue_id>

Delete issue

  • Operation: DELETE /issues/{issue_id}.{format} (deleteIssue)
  • Arguments:
    • issue_id

redmine issue add-watcher <issue_id>

Add watcher

  • Operation: POST /issues/{issue_id}/watchers.{format} (addWatcher)
  • Arguments:
    • issue_id
  • Body flags:
    • --user-id <integer> required

redmine issue remove-watcher <issue_id> <user_id>

Remove watcher

  • Operation: DELETE /issues/{issue_id}/watchers/{user_id}.{format} (removeWatcher)
  • Arguments:
    • issue_id
    • user_id

redmine issue list-by-project <project_id>

List issues by project

  • Operation: GET /projects/{project_id}/issues.{format} (getIssuesByProject)
  • Arguments:
    • project_id
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --sort <string>: Sort order. Comma-separated list of field or field:desc. Default direction is ascending. Examples: id:desc, status:desc,id
    • --include <string>: Comma-separated list of associated data to include for each issue. Values: attachments (file attachments), relations (issue relations)
    • --issue-id <string>: Filter by issue ID. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: 1, >=100, ><1|100
    • --subproject-id <string>: Filter by subproject. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *, !*
    • --tracker-id <string>: Filter by tracker. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !3
    • --status-id <string>: Filter by issue status. Format: [operator]value[|value2|...] Operators: o (open), = (default), ! (not equal), c (closed), * (any), ev (has ever been), !ev (has never been), cf (changed from) Examples: o, 1|2, c, !3
    • --priority-id <string>: Filter by priority. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !3
    • --assigned-to-id <string>: Filter by assignee. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none), ev (has ever been), !ev (has never been), cf (changed from) Special values: me (current user) Examples: 1, me, !*, !me
    • --author-id <string>: Filter by author. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me, !me
    • --author-group <string>: Filter by author's group. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2
    • --author-role <string>: Filter by author's role. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2
    • --member-of-group <string>: Filter by assignee's group membership. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1, *
    • --assigned-to-role <string>: Filter by assignee's role. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1, *
    • --fixed-version-id <string>: Filter by target version. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !*
    • --fixed-version-due-date <string>: Filter by target version's due date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), nd (tomorrow), w (this week), lw (last week), l2w (last 2 weeks), nw (next week), m (this month), lm (last month), nm (next month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), t+ (in n days), >t+ (in more than n days), <t+ (in less than n days), ><t+ (between n1 and n2 days from now), * (any), !* (none) Examples: >=2024-01-01, t, >t-7
    • --fixed-version-status <string>: Filter by target version's status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Values: open, locked, closed Examples: open, open|locked, !closed
    • --category-id <string>: Filter by category. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none), ev (has ever been), !ev (has never been), cf (changed from) Examples: 1|2, !*
    • --parent-id <string>: Filter by parent issue. Format: [operator]value Operators: = (exact parent ID), ~ (descendant of, subtree search), * (any, i.e. is a subtask), !* (none, i.e. is a root issue) Examples: 123, ~123, *, !*
    • --child-id <string>: Filter by child issue. Format: [operator]value Operators: = (exact child ID), ~ (ancestor of, subtree search), * (any, i.e. has subtasks), !* (none, i.e. is a leaf issue) Examples: 123, ~123, *, !*
    • --cf-x <object>: Filter by custom field value. Replace x with the custom field ID (e.g., cf_1, cf_12). Format and operators depend on the custom field type (string, int, date, list, etc.) and follow the same conventions as other filter parameters. Examples: cf_1=~keyword, cf_5=1|2, cf_10=>=2024-01-01
    • --subject <string>: Filter by subject. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, ^prefix
    • --description <string>: Filter by description. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, !~excluded
    • --notes <string>: Filter by journal notes. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword
    • --created-on <string>: Filter by creation date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, t, >t-7, lm
    • --updated-on <string>: Filter by last updated date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, t, >t-7, lm
    • --closed-on <string>: Filter by closed date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, t, >t-7, lm
    • --start-date <string>: Filter by start date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), nd (tomorrow), w (this week), lw (last week), l2w (last 2 weeks), nw (next week), m (this month), lm (last month), nm (next month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), t+ (in n days), >t+ (in more than n days), <t+ (in less than n days), ><t+ (between n1 and n2 days from now), * (any), !* (none) Examples: >=2024-01-01, t, >t-7
    • --due-date <string>: Filter by due date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), nd (tomorrow), w (this week), lw (last week), l2w (last 2 weeks), nw (next week), m (this month), lm (last month), nm (next month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), t+ (in n days), >t+ (in more than n days), <t+ (in less than n days), ><t+ (between n1 and n2 days from now), * (any), !* (none) Examples: >=2024-01-01, t, >t-7
    • --estimated-hours <string>: Filter by estimated hours. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: >=5, ><1|10, !*
    • --spent-time <string>: Filter by total spent time. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: >=5, ><1|10, !*
    • --done-ratio <string>: Filter by done ratio (percentage). Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: >=50, ><0|99, 100
    • --is-private <string>: Filter by private flag. Format: [operator]value Operators: = (default), ! (not equal) Values: 1 (private), 0 (not private) Examples: 1, 0
    • --attachment <string>: Filter by attachment filename. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~report, *.pdf
    • --attachment-description <string>: Filter by attachment description. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~screenshot
    • --watcher-id <string>: Filter by watcher. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me, !me
    • --updated-by <string>: Filter by user who updated the issue. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me
    • --last-updated-by <string>: Filter by user who last updated the issue. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: me (current user) Examples: 1, me
    • --project-status <string>: Filter by project status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Values: 1 (active), 5 (closed) Examples: 1, !5
    • --relates <string>: Filter by "relates to" relation. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), =p (same project), =!p (different project), !p (not in project), *o (related to open issue), !o (related to closed issue), * (any), !* (none) Examples: 123, =p, *o, *
    • --duplicates <string>: Filter by "duplicates" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --duplicated <string>: Filter by "duplicated by" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --blocks <string>: Filter by "blocks" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *o
    • --blocked <string>: Filter by "blocked by" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *o
    • --precedes <string>: Filter by "precedes" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --follows <string>: Filter by "follows" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --copied-to <string>: Filter by "copied to" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --copied-from <string>: Filter by "copied from" relation. Format: [operator]value[|value2|...] Operators: =, !, =p, =!p, !p, *o, !o, *, !* Examples: 123, *
    • --any-searchable <string>: Full-text search across all searchable fields. Format: <operator>value Operators: ~ (contains all words), *~ (contains any word), !~ (not contains) Examples: ~keyword, *~foo bar
    • --query-id <integer>: ID of a saved query to apply. When specified, the saved query's filter criteria are used. Other filter parameters in the same request are ignored. Use GET /queries.json to retrieve available saved queries.
    • --x-redmine-nometa <integer>

redmine issue create-under-project <project_id>

Create issue under project

  • Operation: POST /projects/{project_id}/issues.{format} (createIssueUnderProject)
  • Arguments:
    • project_id
  • Body root: issue
  • Body flags:
    • --assigned-to-id <integer>
    • --category-id <integer>
    • --custom-field-values <object>
    • --custom-fields <object>
    • --description <string>
    • --done-ratio <integer>
    • --due-date <string:date>
    • --estimated-hours <number>
    • --fixed-version-id <integer>
    • --is-private <boolean>
    • --parent-issue-id <integer>
    • --priority-id <integer>
    • --start-date <string:date>
    • --status-id <integer>
    • --subject <string> required
    • --tracker-id <integer>
    • --uploads <object>
    • --watcher-user-ids <integer>

redmine project list

List projects

  • Operation: GET /projects.{format} (getProjects)
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --include <string>: Comma-separated list of associated data to include for each project. Values: trackers (available issue trackers), issue_categories (issue categories), time_entry_activities (time entry activity types), enabled_modules (enabled modules/features), issue_custom_fields (custom fields for issues)
    • --status <string>: Filter by project status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Values: 1 (active), 5 (closed) Examples: 1, 1|5, !1
    • --id <string>: Filter by project ID. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: mine (projects where current user is a member), bookmarks (bookmarked projects) Examples: 1|2|3, mine, !mine, mine|bookmarks
    • --name <string>: Filter by project name. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, ^prefix
    • --description <string>: Filter by project description. Format: <operator>value Operators: ~ (contains), !~ (not contains), *~ (contains any word), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, !~excluded
    • --parent-id <string>: Filter by parent project. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any, i.e. is a subproject), !* (none, i.e. is a root project) Special values: mine (projects where current user is a member), bookmarks (bookmarked projects) Examples: 1|2, mine, *, !*
    • --is-public <string>: Filter by public/private status. Format: [operator]value Operators: = (default), ! (not equal) Values: 1 (public), 0 (private) Examples: 1, !1
    • --created-on <string>: Filter by creation date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, ><2024-01-01|2024-12-31, t, >t-7, lm
    • --updated-on <string>: Filter by last updated date. Format: <operator>[value] Operators: = (on date), >= (on or after), <= (on or before), >< (between, pipe-separated), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), t- (n days ago), >t- (less than n days ago), <t- (more than n days ago), ><t- (between n1 and n2 days ago), * (any), !* (none) Examples: >=2024-01-01, ><2024-01-01|2024-12-31, t, >t-7, lm
    • --x-redmine-nometa <integer>

redmine project create

Create project

  • Operation: POST /projects.{format} (createProject)
  • Body root: project
  • Body flags:
    • --custom-field-values <object>
    • --custom-fields <object>
    • --default-assigned-to-id <integer>: Default assignee for new issues in this project. Set to null to clear.
    • --default-issue-query-id <integer>: Default saved query for the project's issue list page. Set to null to clear.
    • --default-version-id <integer>: Default target version for new issues in this project. Set to null to clear.
    • --description <string>
    • --enabled-module-names <string>: Enabled module names for this project. Values: issue_tracking, time_tracking, news, documents, files, wiki, repository, boards, calendar, gantt
    • --homepage <string>
    • --identifier <string> required
    • --inherit-members <boolean>: Inherit members from the parent project. Only effective for subprojects (parent_id is set).
    • --is-public <boolean>
    • --issue-custom-field-ids <integer>: IDs of issue custom fields enabled for this project. Custom fields with is_for_all=true are always available regardless of this setting.
    • --name <string> required
    • --parent-id <integer>
    • --tracker-ids <integer>: IDs of trackers available in this project.

redmine project show <project_id>

Show project

  • Operation: GET /projects/{project_id}.{format} (getProject)
  • Arguments:
    • project_id
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: trackers (available issue trackers), issue_categories (issue categories), time_entry_activities (time entry activity types), enabled_modules (enabled modules/features), issue_custom_fields (custom fields for issues)

redmine project update <project_id>

Update project

  • Operation: PUT /projects/{project_id}.{format} (updateProject)
  • Arguments:
    • project_id
  • Body flags:
    • --project <object>

redmine project delete <project_id>

Delete project

  • Operation: DELETE /projects/{project_id}.{format} (deleteProject)
  • Arguments:
    • project_id

redmine project archive <project_id>

Archive project

  • Operation: PUT /projects/{project_id}/archive.{format} (archiveProject)
  • Arguments:
    • project_id

redmine project close <project_id>

Close project

Undocumented: This operation is not listed in the official documentation.

  • Operation: PUT /projects/{project_id}/close.{format} (closeProject)
  • Arguments:
    • project_id

redmine project reopen <project_id>

Reopen project

Undocumented: This operation is not listed in the official documentation.

  • Operation: PUT /projects/{project_id}/reopen.{format} (reopenProject)
  • Arguments:
    • project_id

redmine project unarchive <project_id>

Unarchive project

  • Operation: PUT /projects/{project_id}/unarchive.{format} (unarchiveProject)
  • Arguments:
    • project_id

redmine project-membership show <membership_id>

Show membership

  • Operation: GET /memberships/{membership_id}.{format} (getMembership)
  • Arguments:
    • membership_id

redmine project-membership update <membership_id>

Update membership

  • Operation: PUT /memberships/{membership_id}.{format} (updateMembership)
  • Arguments:
    • membership_id
  • Body flags:
    • --membership <object>

redmine project-membership delete <membership_id>

Delete membership

  • Operation: DELETE /memberships/{membership_id}.{format} (deleteMembership)
  • Arguments:
    • membership_id

redmine project-membership list <project_id>

List memberships

  • Operation: GET /projects/{project_id}/memberships.{format} (getMemberships)
  • Arguments:
    • project_id
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --x-redmine-nometa <integer>

redmine project-membership create <project_id>

Create membership

  • Operation: POST /projects/{project_id}/memberships.{format} (createMembership)
  • Arguments:
    • project_id
  • Body root: membership
  • Body flags:
    • --role-ids <integer> required
    • --user-id <integer> required

redmine user list

List users

  • Operation: GET /users.{format} (getUsers)
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --include <string>: Comma-separated list of associated data to include for each user. Values: auth_source (authentication source information)
    • --status <string>: Filter by user status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Values: 1 (active), 2 (registered), 3 (locked) Examples: 1, 1|2, !3
    • --name <string>: Filter by name, login, or email (contains search). The API always uses the ~ (contains) operator regardless of any operator prefix. Examples: john, admin
    • --group-id <string>: Filter by group membership (legacy parameter). Internally converted to is_member_of_group filter with = operator. Value is the group ID.
    • --auth-source-id <string>: Filter by authentication source. Undocumented Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1, !1
    • --twofa-scheme <string>: Filter by two-factor authentication scheme. Undocumented Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Only available when two-factor authentication is enabled in Redmine settings.
    • --login <string>: Filter by login. Undocumented Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), = (exact match), !~ (does not contain), ! (not equal), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~admin, ^john
    • --firstname <string>: Filter by first name. Undocumented Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), = (exact match), !~ (does not contain), ! (not equal), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~John, =John
    • --lastname <string>: Filter by last name. Undocumented Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), = (exact match), !~ (does not contain), ! (not equal), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~Doe, =Doe
    • --mail <string>: Filter by email address. Undocumented Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), = (exact match), !~ (does not contain), ! (not equal), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~example.com, $@example.com
    • --created-on <string>: Filter by creation date. Undocumented Format: [operator]value Operators: = (on date), >=, <=, >< (between, pipe-separated), >t- (more than N days ago), <t- (less than N days ago), ><t- (between N and M days ago), t- (N days ago), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), * (any), !* (none) Examples: >=2024-01-01, >t-30, lm
    • --last-login-on <string>: Filter by last login date. Undocumented Format: [operator]value Operators: = (on date), >=, <=, >< (between, pipe-separated), >t- (more than N days ago), <t- (less than N days ago), ><t- (between N and M days ago), t- (N days ago), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), * (any), !* (none) Examples: >=2024-01-01, >t-30, !*
    • --admin <string>: Filter by admin privilege. Undocumented Format: [operator]value Operators: = (default), ! (not equal) Values: 1 (admin), 0 (non-admin) Examples: 1, !1
    • --x-redmine-nometa <integer>

redmine user create

Create user

  • Operation: POST /users.{format} (createUser)
  • Body flags:
    • --pref <object>
    • --send-information <boolean>: Set to true to send an account information email to the user. Not stored; only triggers email delivery.
    • --user <object> required

redmine user show-current

Show current user

  • Operation: GET /users/current.{format} (getCurrentUser)
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: memberships (project memberships with roles), groups (groups the user belongs to), auth_source (authentication source information)

redmine user show <user_id>

Show user

  • Operation: GET /users/{user_id}.{format} (getUser)
  • Arguments:
    • user_id
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: memberships (project memberships with roles), groups (groups the user belongs to), auth_source (authentication source information)

redmine user update <user_id>

Update user

  • Operation: PUT /users/{user_id}.{format} (updateUser)
  • Arguments:
    • user_id
  • Body flags:
    • --pref <object>
    • --send-information <boolean>: Set to true to send an account information email to the user. Not stored; only triggers email delivery.
    • --user <object>

redmine user delete <user_id>

Delete user

  • Operation: DELETE /users/{user_id}.{format} (deleteUser)
  • Arguments:
    • user_id

redmine time-entry create-under-issue <issue_id>

Create time entry under issue

  • Operation: POST /issues/{issue_id}/time_entries.{format} (createTimeEntryUnderIssue)
  • Arguments:
    • issue_id
  • Body root: time_entry
  • Body flags:
    • --activity-id <integer>
    • --comments <string>
    • --custom-field-values <object>
    • --custom-fields <object>
    • --hours <number> required
    • --project-id <integer>
    • --spent-on <string:date>
    • --user-id <integer>

redmine time-entry list-by-project <project_id>

List time entries by project

  • Operation: GET /projects/{project_id}/time_entries.{format} (getTimeEntriesByProject)
  • Arguments:
    • project_id
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --user-id <string>: Filter by user. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Special values: me (current user) Examples: 1, me, !*
    • --spent-on <string>: Filter by date spent. Format: [operator]value Operators: = (on date), >=, <=, >< (between, pipe-separated), >t- (more than N days ago), <t- (less than N days ago), ><t- (between N and M days ago), t- (N days ago), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), * (any), !* (none) Examples: =2024-01-01, >=2024-01-01, ><2024-01-01|2024-12-31, >t-7, t, lw
    • --from <string:date>: Shortcut for spent_on filter. When used with to, filters as between (>=from and <=to). When used alone, filters as >=from. Format: YYYY-MM-DD
    • --to <string:date>: Shortcut for spent_on filter. When used with from, filters as between (>=from and <=to). When used alone, filters as <=to. Format: YYYY-MM-DD
    • --subproject-id <string>: Filter by subproject. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *, !*
    • --issue-id <string>: Filter by issue. Format: [operator]value Operators: = (exact match), ~ (issue and its subtasks), * (any), !* (none) Examples: =1, ~1, *, !*
    • --issue-tracker-id <string>: Filter by issue's tracker. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --issue-status-id <string>: Filter by issue's status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --issue-fixed-version-id <string>: Filter by issue's target version. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --issue-parent-id <string>: Filter by issue's parent. Format: [operator]value Operators: = (exact match), ~ (issue and its subtasks), * (any), !* (none) Examples: =1, ~1, *, !*
    • --issue-category-id <string>: Filter by issue's category. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, !*
    • --issue-subject <string>: Filter by issue's subject. Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), !~ (does not contain), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, ^prefix, $suffix
    • --user-group <string>: Filter by user's group. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *
    • --user-role <string>: Filter by user's role. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *
    • --author-id <string>: Filter by author. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Special values: me (current user) Examples: 1, me, !*
    • --activity-id <string>: Filter by activity. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --project-status <string>: Filter by project's status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Values: 1 (active), 5 (closed) Examples: 1, !5
    • --comments <string>: Filter by comments. Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), !~ (does not contain), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, ^prefix
    • --hours <string>: Filter by hours. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: =8, >=4, ><1|8
    • --sort <string>: Sort order. Comma-separated list of field or field:desc. Default direction is ascending. Examples: spent_on:desc, hours:desc,spent_on
    • --x-redmine-nometa <integer>

redmine time-entry create-under-project <project_id>

Create time entry under project

  • Operation: POST /projects/{project_id}/time_entries.{format} (createTimeEntryUnderProject)
  • Arguments:
    • project_id
  • Body root: time_entry
  • Body flags:
    • --activity-id <integer>
    • --comments <string>
    • --custom-field-values <object>
    • --custom-fields <object>
    • --hours <number> required
    • --issue-id <integer>
    • --spent-on <string:date>
    • --user-id <integer>

redmine time-entry list

List time entries

  • Operation: GET /time_entries.{format} (getTimeEntries)
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --user-id <string>: Filter by user. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Special values: me (current user) Examples: 1, me, !*
    • --project-id <string>: Filter by project. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Special values: mine (projects where current user is a member), bookmarks (bookmarked projects) Examples: 1|2, mine, !mine
    • --spent-on <string>: Filter by date spent. Format: [operator]value Operators: = (on date), >=, <=, >< (between, pipe-separated), >t- (more than N days ago), <t- (less than N days ago), ><t- (between N and M days ago), t- (N days ago), t (today), ld (yesterday), w (this week), lw (last week), l2w (last 2 weeks), m (this month), lm (last month), y (this year), * (any), !* (none) Examples: =2024-01-01, >=2024-01-01, ><2024-01-01|2024-12-31, >t-7, t, lw
    • --from <string:date>: Shortcut for spent_on filter. When used with to, filters as between (>=from and <=to). When used alone, filters as >=from. Format: YYYY-MM-DD
    • --to <string:date>: Shortcut for spent_on filter. When used with from, filters as between (>=from and <=to). When used alone, filters as <=to. Format: YYYY-MM-DD
    • --subproject-id <string>: Filter by subproject. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *, !*
    • --issue-id <string>: Filter by issue. Format: [operator]value Operators: = (exact match), ~ (issue and its subtasks), * (any), !* (none) Examples: =1, ~1, *, !*
    • --issue-tracker-id <string>: Filter by issue's tracker. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --issue-status-id <string>: Filter by issue's status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --issue-fixed-version-id <string>: Filter by issue's target version. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --issue-parent-id <string>: Filter by issue's parent. Format: [operator]value Operators: = (exact match), ~ (issue and its subtasks), * (any), !* (none) Examples: =1, ~1, *, !*
    • --issue-category-id <string>: Filter by issue's category. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, !*
    • --issue-subject <string>: Filter by issue's subject. Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), !~ (does not contain), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, ^prefix, $suffix
    • --user-group <string>: Filter by user's group. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *
    • --user-role <string>: Filter by user's role. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Examples: 1|2, *
    • --author-id <string>: Filter by author. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal), * (any), !* (none) Special values: me (current user) Examples: 1, me, !*
    • --activity-id <string>: Filter by activity. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Examples: 1|2, !3
    • --project-status <string>: Filter by project's status. Format: [operator]value[|value2|...] Operators: = (default), ! (not equal) Values: 1 (active), 5 (closed) Examples: 1, !5
    • --comments <string>: Filter by comments. Format: [operator]value Operators: ~ (contains, default), *~ (contains any word), !~ (does not contain), ^ (starts with), $ (ends with), * (any), !* (none) Examples: ~keyword, ^prefix
    • --hours <string>: Filter by hours. Format: [operator]value Operators: = (default), >=, <=, >< (between, pipe-separated), * (any), !* (none) Examples: =8, >=4, ><1|8
    • --sort <string>: Sort order. Comma-separated list of field or field:desc. Default direction is ascending. Examples: spent_on:desc, hours:desc,spent_on
    • --x-redmine-nometa <integer>

redmine time-entry create

Create time entry

  • Operation: POST /time_entries.{format} (createTimeEntry)
  • Body root: time_entry
  • Body flags:
    • --activity-id <integer>
    • --comments <string>
    • --custom-field-values <object>
    • --custom-fields <object>
    • --hours <number> required
    • --issue-id <integer>
    • --project-id <integer>
    • --spent-on <string:date>
    • --user-id <integer>

redmine time-entry show <time_entry_id>

Show time entry

  • Operation: GET /time_entries/{time_entry_id}.{format} (getTimeEntry)
  • Arguments:
    • time_entry_id

redmine time-entry update <time_entry_id>

Update time entry

  • Operation: PUT /time_entries/{time_entry_id}.{format} (updateTimeEntry)
  • Arguments:
    • time_entry_id
  • Body flags:
    • --time-entry <object>

redmine time-entry delete <time_entry_id>

Delete time entry

  • Operation: DELETE /time_entries/{time_entry_id}.{format} (deleteTimeEntry)
  • Arguments:
    • time_entry_id

redmine news list

List news

  • Operation: GET /news.{format} (getNewsList)
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --x-redmine-nometa <integer>

redmine news show <news_id>

Show news

Undocumented: This operation is not listed in the official documentation.

  • Operation: GET /news/{news_id}.{format} (getNews)
  • Arguments:
    • news_id
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: attachments (file attachments), comments (comments/replies on the news item)

redmine news update <news_id>

Update news

Undocumented: This operation is not listed in the official documentation.

  • Operation: PUT /news/{news_id}.{format} (updateNews)
  • Arguments:
    • news_id
  • Body flags:
    • --news <object>

redmine news delete <news_id>

Delete news

Undocumented: This operation is not listed in the official documentation.

  • Operation: DELETE /news/{news_id}.{format} (deleteNews)
  • Arguments:
    • news_id

redmine news list-by-project <project_id>

List news by project

  • Operation: GET /projects/{project_id}/news.{format} (getNewsListByProject)
  • Arguments:
    • project_id
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --x-redmine-nometa <integer>

redmine news create <project_id>

Create news

Undocumented: This operation is not listed in the official documentation.

  • Operation: POST /projects/{project_id}/news.{format} (createNews)
  • Arguments:
    • project_id
  • Body root: news
  • Body flags:
    • --description <string> required
    • --summary <string>
    • --title <string> required
    • --uploads <object>

redmine issue-relation list <issue_id>

List issue relations

  • Operation: GET /issues/{issue_id}/relations.{format} (getIssueRelations)
  • Arguments:
    • issue_id

redmine issue-relation create <issue_id>

Create issue relation

  • Operation: POST /issues/{issue_id}/relations.{format} (createIssueRelation)
  • Arguments:
    • issue_id
  • Body root: relation
  • Body flags:
    • --delay <integer>: Number of days of delay for precedes/follows relations. Ignored for other relation types.
    • --issue-to-id <integer> required
    • --relation-type <string> required: Type of relation from this issue to the target issue. Values: relates (related to), duplicates (this duplicates target), duplicated (this is duplicated by target), blocks (this blocks target), blocked (this is blocked by target), precedes (this must finish before target starts), follows (this must start after target finishes), copied_to (this was copied to target), copied_from (this was copied from target)

redmine issue-relation show <issue_relation_id>

Show issue relation

  • Operation: GET /relations/{issue_relation_id}.{format} (getIssueRelation)
  • Arguments:
    • issue_relation_id

redmine issue-relation delete <issue_relation_id>

Delete issue relation

  • Operation: DELETE /relations/{issue_relation_id}.{format} (deleteIssueRelation)
  • Arguments:
    • issue_relation_id

redmine version list-by-project <project_id>

List versions by project

  • Operation: GET /projects/{project_id}/versions.{format} (getVersionsByProject)
  • Arguments:
    • project_id
  • Flags:
    • --nometa <integer>
    • --x-redmine-nometa <integer>

redmine version create <project_id>

Create version

  • Operation: POST /projects/{project_id}/versions.{format} (createVersion)
  • Arguments:
    • project_id
  • Body root: version
  • Body flags:
    • --custom-field-values <object>
    • --custom-fields <object>
    • --default-project-version <boolean>: Set to true to make this the default target version for new issues in the project.
    • --description <string>
    • --due-date <string:date>
    • --name <string> required
    • --sharing <string>: Version sharing scope. Values: none (not shared), descendants (with subprojects), hierarchy (with ancestors and descendants), tree (with entire project tree), system (with all projects)
    • --status <string>
    • --wiki-page-title <string>: Title of a wiki page to associate with this version. Set to null to clear.

redmine version show <version_id>

Show version

  • Operation: GET /versions/{version_id}.{format} (getVersion)
  • Arguments:
    • version_id

redmine version update <version_id>

Update version

  • Operation: PUT /versions/{version_id}.{format} (updateVersion)
  • Arguments:
    • version_id
  • Body flags:
    • --field version=<object>

redmine version delete <version_id>

Delete version

  • Operation: DELETE /versions/{version_id}.{format} (deleteVersion)
  • Arguments:
    • version_id

redmine wiki-page list <project_id>

List wiki pages

  • Operation: GET /projects/{project_id}/wiki/index.{format} (getWikiPages)
  • Arguments:
    • project_id

redmine wiki-page show <project_id> <wiki_page_title>

Show wiki page

  • Operation: GET /projects/{project_id}/wiki/{wiki_page_title}.{format} (getWikiPage)
  • Arguments:
    • project_id
    • wiki_page_title
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: attachments (file attachments)

redmine wiki-page create-or-update <project_id> <wiki_page_title>

Create or update wiki page

  • Operation: PUT /projects/{project_id}/wiki/{wiki_page_title}.{format} (updateWikiPage)
  • Arguments:
    • project_id
    • wiki_page_title
  • Body flags:
    • --wiki-page <object>

redmine wiki-page delete <project_id> <wiki_page_title>

Delete wiki page

  • Operation: DELETE /projects/{project_id}/wiki/{wiki_page_title}.{format} (deleteWikiPage)
  • Arguments:
    • project_id
    • wiki_page_title

redmine wiki-page show-by-specific-version <project_id> <wiki_page_title> <version_id>

Show wiki page by specific version

  • Operation: GET /projects/{project_id}/wiki/{wiki_page_title}/{version_id}.{format} (getWikiPageByVersion)
  • Arguments:
    • project_id
    • wiki_page_title
    • version_id
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: attachments (file attachments)

redmine query list

List queries

  • Operation: GET /queries.{format} (getQueries)
  • Flags:
    • --offset <integer>
    • --limit <integer>
    • --nometa <integer>
    • --x-redmine-nometa <integer>

redmine attachment download-file <attachment_id> <filename>

Download attachment file

Undocumented: This operation is not listed in the official documentation.

  • Operation: GET /attachments/download/{attachment_id}/{filename} (downloadAttachmentFile)
  • Arguments:
    • attachment_id
    • filename

redmine attachment download-thumbnail <attachment_id>

Download thumbnail

Undocumented: This operation is not listed in the official documentation.

  • Operation: GET /attachments/thumbnail/{attachment_id} (downloadThumbnail)
  • Arguments:
    • attachment_id
  • Flags:
    • --size <integer>: Desired thumbnail size in pixels (max 800). Rounded up to the nearest 50px increment. If not specified, the configured default thumbnail size is used.

redmine attachment show <attachment_id>

Show attachment

  • Operation: GET /attachments/{attachment_id}.{format} (getAttachment)
  • Arguments:
    • attachment_id

redmine attachment update <attachment_id>

Update attachment

  • Operation: PATCH /attachments/{attachment_id}.{format} (updateAttachment)
  • Arguments:
    • attachment_id
  • Body flags:
    • --attachment <object>

redmine attachment delete <attachment_id>

Delete attachment

  • Operation: DELETE /attachments/{attachment_id}.{format} (deleteAttachment)
  • Arguments:
    • attachment_id

redmine attachment upload-file

Upload attachment file

  • Operation: POST /uploads.{format} (uploadAttachmentFile)
  • Flags:
    • --filename <string>: Filename for the uploaded file. If not provided, a random hexadecimal name is generated.
    • --content-type <string>: MIME type of the file (e.g., application/pdf, image/png). If not provided, auto-detected from the filename.
  • Body: --input <file> sends application/octet-stream.

redmine issue-status list

List issue statuses

  • Operation: GET /issue_statuses.{format} (getIssueStatuses)

redmine tracker list

List trackers

  • Operation: GET /trackers.{format} (getTrackers)

redmine enumeration list-document-categories

List document categories

  • Operation: GET /enumerations/document_categories.{format} (getDocumentCategories)

redmine enumeration list-issue-priorities

List issue priorities

  • Operation: GET /enumerations/issue_priorities.{format} (getIssuePriorities)

redmine enumeration list-time-entry-activities

List time entry activities

  • Operation: GET /enumerations/time_entry_activities.{format} (getTimeEntryActivities)

redmine issue-category show <issue_category_id>

Show issue category

  • Operation: GET /issue_categories/{issue_category_id}.{format} (getIssueCategory)
  • Arguments:
    • issue_category_id

redmine issue-category update <issue_category_id>

Update issue category

  • Operation: PUT /issue_categories/{issue_category_id}.{format} (updateIssueCategory)
  • Arguments:
    • issue_category_id
  • Body flags:
    • --issue-category <object>

redmine issue-category delete <issue_category_id>

Delete issue category

  • Operation: DELETE /issue_categories/{issue_category_id}.{format} (deleteIssueCategory)
  • Arguments:
    • issue_category_id
  • Flags:
    • --reassign-to-id <integer>: ID of another issue category to reassign issues to before deleting this category. If the category has associated issues and this parameter is not provided, the issues will have their category unset.

redmine issue-category list <project_id>

List issue categories

  • Operation: GET /projects/{project_id}/issue_categories.{format} (getIssueCategories)
  • Arguments:
    • project_id
  • Flags:
    • --nometa <integer>
    • --x-redmine-nometa <integer>

redmine issue-category create <project_id>

Create issue category

  • Operation: POST /projects/{project_id}/issue_categories.{format} (createIssueCategory)
  • Arguments:
    • project_id
  • Body root: issue_category
  • Body flags:
    • --assigned-to-id <integer>
    • --name <string> required

redmine role list

List roles

  • Operation: GET /roles.{format} (getRoles)

redmine role show <role_id>

Show role

  • Operation: GET /roles/{role_id}.{format} (getRole)
  • Arguments:
    • role_id

redmine group list

List groups

  • Operation: GET /groups.{format} (getGroups)
  • Flags:
    • --builtin <string>: Include built-in groups (e.g., "Anonymous", "Non member") in the response. Set to 1 to include built-in groups. Without this parameter, only user-created groups are returned.

redmine group create

Create group

  • Operation: POST /groups.{format} (createGroup)
  • Body root: group
  • Body flags:
    • --custom-field-values <object>
    • --custom-fields <object>
    • --name <string>
    • --twofa-required <boolean>: Require two-factor authentication for all members of this group.
    • --user-ids <integer>: User IDs to add as members of this group.

redmine group show <group_id>

Show group

  • Operation: GET /groups/{group_id}.{format} (getGroup)
  • Arguments:
    • group_id
  • Flags:
    • --include <string>: Comma-separated list of associated data to include in the response. Values: users (list of users in the group), memberships (project memberships with roles)

redmine group update <group_id>

Update group

  • Operation: PUT /groups/{group_id}.{format} (updateGroup)
  • Arguments:
    • group_id
  • Body flags:
    • --group <object>

redmine group delete <group_id>

Delete group

  • Operation: DELETE /groups/{group_id}.{format} (deleteGroup)
  • Arguments:
    • group_id

redmine group add-user-to <group_id>

Add user to group

  • Operation: POST /groups/{group_id}/users.{format} (addUserToGroup)
  • Arguments:
    • group_id
  • Body flags:
    • --user-id <integer> required

redmine group remove-user-from <group_id> <user_id>

Remove user from group

  • Operation: DELETE /groups/{group_id}/users/{user_id}.{format} (removeUserFromGroup)
  • Arguments:
    • group_id
    • user_id

redmine custom-field list

List custom fields

  • Operation: GET /custom_fields.{format} (getCustomFields)

redmine search search-within-project <project_id>

Search within project

  • Operation: GET /projects/{project_id}/search.{format} (getSearchByProject)
  • Arguments:
    • project_id
  • Flags:
    • --limit <integer>
    • --offset <integer>
    • --nometa <integer>
    • --q <string>: Search query string. Tokenized into words for matching. When all_words is enabled (default), all tokens must match. Otherwise, any token can match.
    • --scope <string>: Search scope. Values: subprojects (include subprojects of the specified project) When not specified, only the specified project is searched.
    • --all-words <string>: Require all words to match. Default is true (all words must match). Set to empty string to disable (any word matches). Any non-empty value enables this option.
    • --titles-only <string>: Search titles only. Default is false. Any non-empty value enables this option.
    • --issues <integer>: Include issues in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --news <integer>: Include news in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --wiki-pages <integer>: Include wiki pages in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --documents <integer>: Include documents in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --changesets <integer>: Include changesets in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --messages <integer>: Include forum messages in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --open-issues <string>: Only return open issues. Default is false. Any non-empty value enables this option.
    • --attachments <string>: Search attachments. Default is 0 (do not search attachments). Values: 0 (disabled), 1 (search attachments and content), only (search attachments only)
    • --x-redmine-nometa <integer>

redmine search run

Search

  • Operation: GET /search.{format} (getSearch)
  • Flags:
    • --limit <integer>
    • --offset <integer>
    • --nometa <integer>
    • --q <string>: Search query string. Tokenized into words for matching. When all_words is enabled (default), all tokens must match. Otherwise, any token can match.
    • --scope <string>: Search scope. Values: all (all projects), my_projects (projects where current user is a member), bookmarks (bookmarked projects), subprojects (include subprojects, only effective for project-scoped search)
    • --all-words <string>: Require all words to match. Default is true (all words must match). Set to empty string to disable (any word matches). Any non-empty value enables this option.
    • --titles-only <string>: Search titles only. Default is false. Any non-empty value enables this option.
    • --issues <integer>: Include issues in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --news <integer>: Include news in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --wiki-pages <integer>: Include wiki pages in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --projects <integer>: Include projects in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched. Not available when searching within a specific project.
    • --documents <integer>: Include documents in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --changesets <integer>: Include changesets in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --messages <integer>: Include forum messages in search results. Any non-empty value enables this search type. If no search type parameters are specified, all types are searched.
    • --open-issues <string>: Only return open issues. Default is false. Any non-empty value enables this option.
    • --attachments <string>: Search attachments. Default is 0 (do not search attachments). Values: 0 (disabled), 1 (search attachments and content), only (search attachments only)
    • --x-redmine-nometa <integer>

redmine file list <project_id>

List files

  • Operation: GET /projects/{project_id}/files.{format} (getFiles)
  • Arguments:
    • project_id

redmine file create <project_id>

Create file

  • Operation: POST /projects/{project_id}/files.{format} (createFile)
  • Arguments:
    • project_id
  • Body root: file
  • Body flags:
    • --content-type <string>
    • --description <string>
    • --filename <string>
    • --token <string> required
    • --version-id <integer>

redmine my-account show

Show my account

  • Operation: GET /my/account.{format} (getMyAccount)

redmine my-account update

Update my account

  • Operation: PUT /my/account.{format} (updateMyAccount)
  • Body flags:
    • --pref <object>
    • --user <object>

redmine journal update <journal_id>

Update journal

Undocumented: This operation is not listed in the official documentation.

  • Operation: PUT /journals/{journal_id}.{format} (updateJournal)
  • Arguments:
    • journal_id
  • Body flags:
    • --journal <object>

redmine repository add-related-issue <project_id> <repository_id> <revision>

Add related issue

Undocumented: This operation is not listed in the official documentation.

  • Operation: POST /projects/{project_id}/repository/{repository_id}/revisions/{revision}/issues.{format} (addRelatedIssue)
  • Arguments:
    • project_id
    • repository_id
    • revision
  • Body flags:
    • --issue-id <integer> required

redmine repository remove-related-issue <project_id> <repository_id> <revision> <issue_id>

Remove related issue

Undocumented: This operation is not listed in the official documentation.

  • Operation: DELETE /projects/{project_id}/repository/{repository_id}/revisions/{revision}/issues/{issue_id}.{format} (removeRelatedIssue)
  • Arguments:
    • project_id
    • repository_id
    • revision
    • issue_id