跳转到内容

工单

issues 命令(别名 i)提供对 Redmine 工单的全流程管理。

终端窗口
redmine issues list [flags]
标志 描述
--project 按项目过滤(名称、标识符或 ID)
--tracker 按跟踪类型过滤(名称或 ID)
--status 按状态过滤:open、closed、*、名称或 ID
--assignee 按指派人过滤:me、名称、登录名或 ID
--author 按作者过滤:me、名称、登录名或 ID
--priority 按优先级过滤(名称或 ID)
--category 按工单类别过滤(名称或 ID)
--version 按目标版本过滤(名称或 ID)
--parent 仅列出某父工单的子工单
--subproject 子项目过滤:数字 ID,或 !* 表示排除子项目
--include-subprojects 是否包含子项目工单(默认 true;指定 =false 可排除)
--is-private 按私密性过滤:true 仅返回私有,false 仅返回公共
--filter 原生 Redmine 过滤器(key=value,可重复)。用于日期范围、自定义字段、主题搜索
--query 按名称运行自定义查询(参见 queries)
--query-id 按数字 ID 运行自定义查询(与 --query 互斥)
--sort 排序方式,例如 updated_on:desc
--include 包含关联数据:attachments、relations
--attachments --include attachments 的简写
--relations --include relations 的简写
--limit 最大结果数(0 表示全部)
--offset 分页偏移量
-o, --output 输出格式:table、json
终端窗口
redmine issues list --assignee me
终端窗口
redmine issues get <id> [flags]

别名:show、view。

标志 描述
--include 包含关联数据:journals、children、relations、attachments
--journals --include journals 的简写
--children --include children 的简写
--relations --include relations 的简写
--attachments 列出工单的附件(id、文件名、大小、内容类型)
--download-attachments 将工单的所有附件下载到指定目录
--clobber 与 --download-attachments 一起使用时,覆盖目录中已存在的文件
--allow-hidden 与 --download-attachments 一起使用时,允许保存文件名以 . 开头的附件
-o, --output 输出格式

除非传入 --clobber,--download-attachments 永远不会覆盖目录中已存在的文件;服务器提供的以 . 开头的文件名(例如 .bashrc 或 .envrc)会被拒绝,除非传入 --allow-hidden。所有目标路径都会在下载任何内容之前检查,因此一旦发生冲突,命令会直接中止,不会写入任何文件。其余规则与 attachments download 相同:永远不跟随符号链接,永远不替换目录,下载失败也不会留下不完整的文件。

同一工单的附件经常重名(例如多个 screenshot.png)。它们都会被保留:最新的一个(附件 ID 最大,通常是修正后重新上传的版本)保留原名,较旧的会在文件名中加上附件 ID,例如 screenshot (attachment-71).png。仅大小写不同的文件名在所有平台上都视为同名,因为 macOS 和 Windows 的文件系统通常无法同时容纳两者。stderr 上的每条确认信息都会显示附件实际保存的路径。这种重命名只针对同一次下载中的文件名;对于目录中原本就存在的文件,请使用 --clobber。

终端窗口
# 列出附件 ID,以便下载某个附件
redmine issues get 123 --attachments
终端窗口
redmine issues create [flags]
标志 描述
--project 项目(名称、标识符或 ID)——默认回退至活跃配置文件的默认项目
--subject 工单标题 — 必填
--tracker 跟踪类型(名称或 ID)
--status 状态(名称或 ID)
--priority 优先级(名称或 ID)
--assignee 指派人:me、名称或 ID
--description 工单描述
--parent 父工单 ID
--category 类别(名称或 ID)
--version 目标版本(名称或 ID)
--start-date 开始日期(YYYY-MM-DD)
--due-date 截止日期(YYYY-MM-DD)
--estimated-hours 预估工时
--private 标记为私有
--watcher 初始观察者(名称、登录名、ID 或 me;可重复)
--custom-field 自定义字段值,格式为 name=value 或 id=value(可重复)
--attach 要附加的文件路径(可重复使用)
终端窗口
redmine issues create --project myproject --subject "Add search" --tracker Feature --priority High
redmine issues create --project myproject --subject "Bug report" \
--start-date 2026-05-01 --due-date 2026-05-15 \
--watcher me --watcher "QA Bot" \
--custom-field Severity=High \
--attach /path/to/screenshot.png --attach /path/to/log.txt
# 值包含空格时:用引号包住整个键值对,并为每个字段重复使用该标志
redmine issues create --project myproject --subject "Bug" \
--custom-field "2=Value for field 2" \
--custom-field "61=Value for 61"
终端窗口
redmine issues update <id> [flags]

接受与 create 相同的标志(--project 与 --watcher 除外),并额外支持:

标志 描述
--note 添加日志注释
--private-notes 将 --note 添加的注释标记为私有(需同时提供 --note)
--done-ratio 完成度百分比(0-100)
--start-date 开始日期(传入空字符串可清除)
--due-date 截止日期(传入空字符串可清除)
--custom-field 自定义字段值,格式为 name=value 或 id=value(可重复)
--attach 要附加的文件路径(可重复使用)
终端窗口
redmine issues update 123 --note "Fixed the bug" --attach /path/to/fixed_code.patch
# 私有日志注释(仅工作人员可见)
redmine issues update 123 --note "Internal context" --private-notes
# 按名称更新自定义字段
redmine issues update 123 --custom-field Severity=Critical
终端窗口
redmine issues close <id> [flags]
标志 描述
--note 添加关闭评论
终端窗口
redmine issues reopen <id> [flags]
终端窗口
redmine issues assign <id> <user-id-or-name> [flags]

用户参数接受数字 ID、登录名、全名或 me。

终端窗口
redmine issues comment <id> --message "Your comment" [flags]
终端窗口
redmine issues watchers list <id>
redmine issues watchers add <id> <user>
redmine issues watchers remove <id> <user>

<user> 可以是数字 ID、登录名、全名或 me。

终端窗口
redmine issues watchers add 123 me
redmine issues watchers list 123
redmine issues watchers remove 123 alice
终端窗口
redmine issues relations list <id>
redmine issues relations add <id> --to <other-id> --type <type> [--delay <days>]
redmine issues relations remove <relation-id>
标志 描述
--to 目标工单 ID — 必填
--type 关联类型。默认 relates,详见下表
--delay 延迟天数,仅对 precedes/follows 有效

Redmine 支持的关联类型(参见 Redmine REST 文档):

类型 含义
relates 通用关联
duplicates 当前工单重复了目标工单
duplicated 当前工单被目标工单重复
blocks 当前工单阻塞目标工单
blocked 当前工单被目标工单阻塞
precedes 当前工单先于目标工单(支持 --delay)
follows 当前工单晚于目标工单(支持 --delay)
copied_to 当前工单被复制到目标工单
copied_from 当前工单复制自目标工单
终端窗口
redmine issues relations add 123 --to 124 --type blocks
redmine issues relations add 123 --to 124 --type precedes --delay 5
redmine issues relations list 123
redmine issues relations remove 42
危险操作
终端窗口
redmine issues delete <id> [flags]
标志 描述
-f, --force 跳过确认提示
终端窗口
redmine issues open <id>

根据已配置的 Redmine 服务器构造工单 URL,并在默认浏览器中打开。

终端窗口
redmine issues open 123 # → https://redmine.example.com/issues/123
终端窗口
redmine issues browse [flags]

打开工单的交互式终端浏览器。接受与 list 相同的过滤标志。