Console Output
Warning: A secret was passed to "httpRequest" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [gitlabToken]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
HttpMethod: GET
URL: http://159.27.226.4/api/v4/projects/2332/repository/commits/58358d0
Content-Type: application/json
PRIVATE-TOKEN: *****
Sending request to url: http://159.27.226.4/api/v4/projects/2332/repository/commits/58358d0
Response Code: HTTP/1.1 200 OK
Response:
{"id":"58358d03c9eaee4f4a3cdeb94db6ed3c4a8c97b3","short_id":"58358d03","created_at":"2026-11-12T14:30:40.000+08:00","parent_ids":["3d72be198741bc65dcd705b85a639e54cfd1907b"],"title":"feat(platoon): 打通可靠变道通知、PNC反馈和HMI状态链路","message":"feat(platoon): 打通可靠变道通知、PNC反馈和HMI状态链路\n\n独立协议与 V2V 路由\n- 新增 LaneChange Proto,使用消息 ID 3 和 Frame.lane_change 字段 22,承载 Request、Ack 和 Result。\n- 使用编队 ID、请求 UUID、领航进程 session 和递增业务序号关联一次操作,明确请求送达与结果送达两类 ACK。\n- 扩展消息模型、Protobuf 生成、Adapter、Codec、Validator、Router 和 OBU 紧急发送链路。\n- 每次实际发送分配新的传输帧序号,重传仍保留原业务标识;变道去重先于普通帧序号过滤,支持旧帧重确认。\n- 不复用 COPMM 分支或事务队列,不改变既有编队创建、加入、退出和解散流程。\n\n变道会话与可靠性\n- 仅允许有效且处于 IDLE 的领航车发起请求,固定本次其他成员列表,分别维护每辆后车的送达和应用状态。\n- 请求与结果每 200 毫秒有限重发,最多 5 次,最终送达确认期限为 1000 毫秒;本地入队失败显式报告并消耗预算。\n- ACK 本身不跟踪,依靠重复请求或结果触发重 ACK;重复请求不会重复发布 ROS 命令。\n- 收到逐车请求 ACK 后启动该车 5 秒应用超时,结果先于 ACK 到达同样视为已送达。\n- 区分未确认送达与已送达但应用无结果,不在协议中伪造 TIMEOUT,应用超时由领航端独立生成。\n- 实现 5 秒冷却、30 秒展示、请求覆盖、结果缓存、UUID 去重和 session 高水位保护。\n- 迟到或重复结果只做必要确认,不复活超时、取消或已覆盖的业务状态;容量耗尽显式拒绝。\n- 角色、编队、领头身份或运行上下文失效时取消会话,成员移除时停止对应重试和计时。\n\nROS PNC 桥接与持久序号\n- 增加 ads_msgs 依赖及 LaneChangeRosBridge,使用现有 ROS node 和 executor。\n- 后车发布 /cloud/pnc/pnc_command,左、右变道 cmd_type 分别为 5、6,领头车不向自身发布。\n- 发布前先持久化递增 seq_id,使用跨进程锁、临时文件、fsync 和原子替换保存高水位;失败不发布,发布失败也不复用序号。\n- 订阅 /vehicle/pnc/pnc_command_states,按 id 和 cmd_type 关联反馈;RECEIVE、EXECUTING 保持等待,SUCCESS 映射就绪,ERROR 映射拒绝并附原因。\n- 通过真实 V2V Result 将后车结果回传领航车,并等待结果 ACK;发布和反馈回调避免生命周期锁重入。\n- 支持显式 ros 与 stub_success 模式,错误配置和发布失败不回退模拟成功。\n- 保留早期默认 stub_success:仍先发布真实 ROS 命令,再产生带模拟原因的就绪反馈。\n- 将 cmd_value 和持久化路径加入配置,明确默认 cmd_value=true 仍需与 PNC 确认。\n\nHMI 接口、文档与测试\n- 接收 lane_change JSON 指令,周期状态输出请求、方向、展示和冷却剩余时间及逐车 delivery/status/reason。\n- 区分命令拒绝、传输失败和业务状态告警,避免已接受请求因运行期告警被误清空。\n- 补充协议、字段映射、部署配置、功能边界和可复现验证文档。\n- 增加独立会话及持久序号测试,覆盖编解码、丢 ACK、重复与乱序、逐车期限、冷却覆盖、上下文变化及文件异常。\n- 增加 ROS 和 Router 集成测试,覆盖真实 Command/CommandStates 关联、模拟发布顺序、第三类消息路由和 HMI JSON。\n\n提交前验证\n- 独立 C++ 构建和 CTest 通过,13 组变道测试全部通过。\n- 原有 Protobuf 编解码样例通过,保留既有 COPMM 15 个分支的往返验证。\n\n本功能只提供变道通知与就绪反馈,不输出转向控制。真实车辆使用前需切换 ros 模式、确认 PNC 字段语义并完成 OBU 与 PNC 联调;持久序号不保证与外部发布器全局唯一。\n","author_name":"haoxiangtao@senior.auto","author_email":"taoge@God.localdomain","authored_date":"2026-11-12T14:30:40.000+08:00","committer_name":"haoxiangtao@senior.auto","committer_email":"taoge@God.localdomain","committed_date":"2026-11-12T14:30:40.000+08:00","trailers":{},"web_url":"http://159.27.226.4/system/platoon_core/-/commit/58358d03c9eaee4f4a3cdeb94db6ed3c4a8c97b3","stats":{"additions":2091,"deletions":49,"total":2140},"status":null,"project_id":2332,"last_pipeline":null}
Success: Status code 200 is in the accepted range: 100:399