mcpField
R
redmine-cli

redmine-cli

github.com/diskd-ai生产力158 次安装38 周前更新
代码仓库

关于 redmine-cli

Redmine CLI 是通过 Redmine REST API 操作 Redmine 的无外部依赖命令行技能,适用于项目与问题管理。它支持评论和问题关系维护,并提供 JSON 输出以便自动化处理。

主要功能

  1. 01列出项目和问题
  2. 02创建及编辑问题
  3. 03添加、更新和删除评论
  4. 04管理问题间的关系
  5. 05选择已配置的实例

适用场景

  1. 01按查询条件或状态查找问题
  2. 02创建任务和缺陷报告
  3. 03记录问题进展备注
  4. 04关联阻塞或相关问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/diskd-ai/redmine-cli --skill redmine-cli

安装后在 Claude Code 中输入/redmine-cli确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
agents/
openai.yaml
references/
rest-api.md
scripts/
redmine_cli.py

详细介绍

Redmine CLI

使用随附的 scripts/redmine_cli.py(无需外部依赖),即可在终端中与 Redmine 交互。它会从 ~/.red/config.json 读取身份验证和配置(也可使用 ./.red/config.json 覆盖)。

快速开始

  1. 创建 Redmine API 密钥(Redmine 界面:我的帐户 -> API 访问密钥)。
  2. 创建 ~/.red/config.json(v1/单实例格式):
{
  "api-key": "YOUR_API_KEY",
  "editor": "",
  "pager": "",
  "project": "",
  "project-id": 0,
  "server": "https://redmine.example.com",
  "user-id": 0
}
  1. 验证连接:
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

更新/删除现有评论(日志):

  1. 在 issue view --journals 输出中查找日志 ID:issue.journals[].id
  2. 更新或删除:
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