关于 redmine-cli
Redmine CLI 是通过 Redmine REST API 操作 Redmine 的无外部依赖命令行技能,适用于项目与问题管理。它支持评论和问题关系维护,并提供 JSON 输出以便自动化处理。
主要功能
- 01列出项目和问题
- 02创建及编辑问题
- 03添加、更新和删除评论
- 04管理问题间的关系
- 05选择已配置的实例
适用场景
- 01按查询条件或状态查找问题
- 02创建任务和缺陷报告
- 03记录问题进展备注
- 04关联阻塞或相关问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ diskd-ai/ redmine-cli --skill redmine-cli安装后在 Claude Code 中输入/redmine-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreREADME.mdagents/openai.yamlreferences/rest-api.mdscripts/redmine_cli.py详细介绍
Redmine CLI
使用随附的 scripts/redmine_cli.py(无需外部依赖),即可在终端中与 Redmine 交互。它会从 ~/.red/config.json 读取身份验证和配置(也可使用 ./.red/config.json 覆盖)。
快速开始
- 创建 Redmine API 密钥(Redmine 界面:我的帐户 -> API 访问密钥)。
- 创建
~/.red/config.json(v1/单实例格式):
{
"api-key": "YOUR_API_KEY",
"editor": "",
"pager": "",
"project": "",
"project-id": 0,
"server": "https://redmine.example.com",
"user-id": 0
}
- 验证连接:
python scripts/redmine_cli.py project list --json | head
多实例(--rid)(可选)
如果 ~/.red/config.json 使用 v2/多服务结构(如参考项目 red-cli),请使用 --rid 选择服务:
python scripts/redmine_cli.py issue list --rid prod
python scripts/redmine_cli.py issue list --rid 1
常见任务
列出项目(默认输出为 TSV;自动化时使用 --json):
python scripts/redmine_cli.py project list
python scripts/redmine_cli.py project list --json
列出问题(除非使用 --all 或 issue list all,否则使用配置中的 project-id):
python scripts/redmine_cli.py issue list
python scripts/redmine_cli.py issue list --json --limit 10 --page 1
python scripts/redmine_cli.py issue list --query "login fails" --status_id 1 --sort priority
python scripts/redmine_cli.py issue list --issue-urls
python scripts/redmine_cli.py issue list --project # include project column in output
列出可用的项目、跟踪器、状态和优先级(在创建问题前很有用):
python scripts/redmine_cli.py issue meta
创建问题(默认使用“Task”跟踪器;使用 --tracker 可按名称指定其他跟踪器):
python scripts/redmine_cli.py issue create --project-id 1 --subject "New feature request" --json
python scripts/redmine_cli.py issue create --subject "Bug fix" --description "Details here" --json
python scripts/redmine_cli.py issue create --subject "Subtask" --parent-id 123 --json
python scripts/redmine_cli.py issue create --subject "A bug" --tracker Bug --priority-id 3 --json
获取问题:
python scripts/redmine_cli.py issue view 12345
python scripts/redmine_cli.py issue view 12345 --journals
列出所有项目中的问题:
python scripts/redmine_cli.py issue list all
python scripts/redmine_cli.py issue list --all
仅列出分配给当前用户的问题:
python scripts/redmine_cli.py issue list me
为问题添加日志备注:
python scripts/redmine_cli.py issue note 12345 -m "Fixed in commit abc123"
python scripts/redmine_cli.py issue note 12345 -m "Customer-visible" --private
python scripts/redmine_cli.py issue note 12345 --message-file ./notes.md
python scripts/redmine_cli.py issue note 12345 --message-file - < ./notes.md
编辑问题字段(主题、描述、状态、优先级、跟踪器、父级、分配对象):
python scripts/redmine_cli.py issue edit 12345 --description "New description"
python scripts/redmine_cli.py issue edit 12345 --description-file ./description.md
python scripts/redmine_cli.py issue edit 12345 --subject "Renamed" --status-id 2
python scripts/redmine_cli.py issue edit 12345 --parent-id 100 # make it a subtask
python scripts/redmine_cli.py issue edit 12345 --assigned-to-id 5 --priority-id 3
管理问题关联(相关、阻止、重复、前置、后续):
python scripts/redmine_cli.py issue relate add 12345 67890 # relates (default)
python scripts/redmine_cli.py issue relate add 12345 67890 --type blocks # 12345 blocks 67890
python scripts/redmine_cli.py issue relate list 12345 # list relations
python scripts/redmine_cli.py issue relate list 12345 --json
python scripts/redmine_cli.py issue relate remove 42 # delete by relation id
更新/删除现有评论(日志):
- 在
issue view --journals输出中查找日志 ID:issue.journals[].id - 更新或删除:
python scripts/redmine_cli.py issue comment update 5993 -m "Updated comment text"
python scripts/redmine_cli.py issue comment update 5993 --message-file ./comment.md
python scripts/redmine_cli.py issue comment remove 5993
显示当前用户信息:
python scripts/redmine_cli.py user me
故障排查
HTTP 401/403:API 密钥缺失或无效、REST API 已禁用,或权限不足。HTTP 404:基础 URL 错误(确保它是 Redmine 根路径,而不是/projects之类的子路径)。- 找不到配置:确保
~/.red/config.json存在且是有效的 JSON。
参考资料
- Redmine REST API 说明(端点、负载、筛选条件):
references/rest-api.md
评论
支持 Markdown