Pull Request已成功合入, 合并人@openUBMC-robot
(感谢 zhuchenkai 的贡献)欢迎来到 openUBMC 社区
Hey @zck19950826 , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。
联系指引
有疑问可以联系 SIG: sig-interface ,
维护者是: @DataSculptor, @WeliveWelove, @aaronlee, @huanghan ,
优秀贡献者是: @L_Ling, @PLUS_ONE, @yelvsub .


关联 Issue 通知
@zck19950826 , 提交的PR需要关联issue,指导链接:https://forum.openubmc.cn/t/topic/208
如果已经关联了issue, 但是needs-issue标签仍然存在,你可以在评论 /check-issue 来移除它。


The pipeline(pipeline number:1720) is running. >>> Check Pipeline <<<.Please wait a moment...


/ai review


代码审查
经过全面审查,对两个变更文件的检查结果如下:
审查结论
1. interface_config/cli/ipmcset/maintenance.json
变更内容:为 importcsr 命令的 option 参数新增 Description 字段,并扩展 filepath 参数的 Description 字段内容(补充 option 查询方式、文件路径限制和 BMC 自动重启的说明)。
审查结果:无问题。
- JSON 结构语法正确:新增的逗号(line 760)和
Description键值对符合 JSON 规范。 - JSON key 拼写正确:
Description、Type、Required等键名均拼写正确。 - 换行转义符
\r\n是合法的 JSON 转义序列,且在该代码库的 Description 字段中被广泛使用(如trap.json、sensor.json、user.json等),与既有惯例一致。 - 变更内容与 Issue #1002(
importcsr帮助信息不完整)的修复目标匹配。
2. mds/service.json
变更内容:版本号从 1.110.99 升级到 1.110.100。
审查结果:无问题。这是一次常规版本号递增,旧版本号 1.110.99 在 mds/ 目录中已无残留引用,版本升级完整。
总结:本次变更共涉及 2 个文件,均未发现需报告的问题。变更风险低,可以合入。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 0 |
| 🟡 建议 | 1 |
💬 仅评论


/check-issue


/publish


🔵 Low Priority
第 772 行新增的 filepath 描述使用了 \r\n(CR+LF)作为换行符,而该文件中所有其他多行 Description 字段均统一使用 \n(LF)。最直接的对照是同一文件第 174 行 upgradebios 命令的 filepath 描述,其格式几乎相同(" e.g.: /tmp/image.hpm\nNote:\n 1...."),但使用的是 \n。文件中其他多行描述(第 21、76、94、315、353、418、596、609、752 行)也全部使用 \n。
变更行 → 换行符约定被破坏 → \r(回车符 0x0D)在终端中会将光标移到行首,CLI 渲染代码若基于 \n 做分行处理,\r 可能被直接输出为 ^M 或造成显示异常,且文件内风格不一致增加维护成本 → 应将 \r\n 统一改为 \n,与第 174 行及文件中其他描述保持一致。
建议:将 \r\n 全部替换为 \n,与同一文件第 174 行的 upgradebios filepath 描述及文件中所有其他多行描述保持换行风格一致。
| 772
| - "Description": " e.g.: /tmp/image.hpm\ |
|
772 | + "Description": " e.g.: /tmp/image.hpm\nNote:\n 1.The values for option can be queried using ipmcset -t maintenance -d listcsr.\n 2.The file path must not exceed 255 bytes, and the file must be in .hpm format.\n 3.The BMC will automatically restart after the import operation is successfully completed." |


与LTS分支保持一致
PR #1428 Code Review: 修复ipmcset -t maintenance -d importcsr帮助信息不完整问题
仓库: openUBMC/rackmount
分支: main_1 → main
关联 Issue: #1002(帮助信息不完整缺陷)
设计文档: 无关联 discuss topic(跳过设计一致性比对,基于代码与既有约定审查)
变更概览
| 文件 | 新增/删除 | 说明 |
|---|---|---|
| CHANGELOG.md | +3/-0 | 新增版本记录条目 |
| interface_config/cli/ipmcset/maintenance.json | +3/-2 | importcsr 的 option/filepath 参数补充 Description |
| mds/service.json | +1/-1 | 版本号 1.110.99 → 1.110.100 |
逐项 Review
JSON 语法:maintenance.json、service.json 均可正常解析,语法正确。✓
变更范围与 Issue 一致性:补充的正是 Issue #1002 要求的 option、filepath 参数描述,方向正确。✓
描述内容准确性:
- "The file path must not exceed 255 bytes" 与既有校验 Regex
^/tmp/.{1,246}\.hpm$(5+246+4=255)上限一致。✓ - "The BMC will automatically restart after the import operation..." 与同一 action 的 Confirm 描述 "overwrite eeprom and reset bmc" 一致。✓
- option 示例 Connector_BCU_1_0101 与 listcsr 返回的 ConnectorList 命名风格相符。✓
版本升级:mds/service.json 从 1.110.99 升至 1.110.100,正常递增。✓
发现的问题
1.【中】描述中命令名写错:ipmcset 应为 ipmcget(maintenance.json:772)
"Description": "...\r\n 1.The values for option can be queried using ipmcset -t maintenance -d listcsr.\r\n ..."
listcsr 是查询类命令,仅存在于 ipmcget 侧:ipmcget -t maintenance -d listcsr(见 interface_config/cli/ipmcget/maintenance.json:342-346)。ipmcset 下不存在 listcsr 子命令(已核对 ipmcset maintenance.json 全部 Uri,无该命令)。本 PR 目的就是修正帮助信息,此处反而引入了错误命令指引,用户按提示执行会直接失败。建议改为 ipmcget。
2.【中】CHANGELOG.md 版本号与日期错误(CHANGELOG.md:3)
## [1.110.99] 2026-08-011
修复ipmcset -t maintenance -d importcsr帮助信息不完整问题
- 日期
2026-08-011格式错误,多了一个1,应为2026-08-11(与 PR 创建时间一致)。 - 版本号
1.110.99与上一条目(## [1.110.99] 2026-08-07)重复,且未与 mds/service.json 本次升至的1.110.100对齐。建议改为## [1.110.100] 2026-08-11。
3.【低】换行转义 \r\n 与文件既有约定 \n 不一致(maintenance.json:772)
新增描述使用了 4 处 \r\n(CRLF),而本文件其余 25 处多行 Description 均使用 \n(如 upgradebios 的 filepath 描述 maintenance.json:174、Confirm 描述 maintenance.json:752)。\r 在 Linux/串口终端可能显示为 ^M 或造成排版错乱。建议统一为 \n。(注:atomgit-bot 已就此在 diff 上留下未解决评论,与本意见一致。)
4.【低】option 描述缩进风格与文件不一致(maintenance.json:761)
"Description": " Connector name of the firmware to be imported, e.g.: Connector_BCU_1_0101"
其他多行 Description 多以 \n 换行 + 缩进组织(如 maintenance.json:609、686、699),该行以 8 个空格开头,帮助信息首行排版可能出现多余前导空格,建议与既有风格统一。
总结
变更范围小、方向正确,JSON 合法,主要风险集中在帮助信息的准确性与一致性上:问题 1(ipmcset→ipmcget)与问题 2(CHANGELOG 日期/版本号)建议修复后再合入;问题 3、4 为风格问题,可一并顺手统一。修改量小,风险低。
🤖 由 openUBMC Studio + DeepSeek V4 Flash 检视


/check-pr


合入校验失败
@zck19950826, 当前PR不可合入,原因如下:
标签没满足合入条件
- PR合入需要以下标签 1 lgtm, 但是当前只有0.
- PR合入需要以下标签 1 approved, 但是当前只有0.
标签使用技巧
- lgtm: 合并PR时必要的标签。代码仓管理人员可以通过评论
/lgtm来添加标签。PR创建者可以通过评论/lgtm cancel来删除标签,但无法通过评论/lgtm添加标签。 - approved: 合并PR时必要的标签。代码仓管理人员可以通过评论
/approve来添加标签,通过评论/approve cancel来删除标签。


The pipeline(pipeline number:1731) is running. >>> Check Pipeline <<<.Please wait a moment...


| 任务名称 | 结果 |
|---|---|
| pre-commit检查 | ✅SUCCESS |
| 防投毒检查 | ✅SUCCESS |
| 开源合规检查 | ✅SUCCESS |
| 编译构建 | ✅SUCCESS |
| ipmi修改 | ✅SUCCESS |
| 修改行数检查 | ✅SUCCESS |


/lgtm
/approve


This component has been successfully published.


当前PR是否有AI参与:
[x] 否
[ ] 是
__1. AI Agent 平台:
__2. AI 模型:
__3. Prompt上下文 :
PR功能描述 / 为什么需要这个合入**:
修复ipmcset -t maintenance -d importcsr帮助信息不完整问题
修改方案**:
修改cli命令中帮助信息的配置
验证方案**:
调用ipmcset -t maintenance -d importcsr -v查看帮助信息
测试建议**:
自验证报告**:
该PR关联的issue
(格式为fixes #<issue号>, 或者resolves #<issue号>): fixes #1002
希望检视人员了解: