Reporter 适合什么
把 Reporter 配在需要观察的运行范围,让它处理当前进程可见的结果。外部系统可以接收运行摘要、Attempt 结果或链接,但要读取完整业务事实时,应使用 receipt 的runIds 重新打开停稳 Record。
Reporter 不能:
- 把外部系统的数据当作 Record 的业务值;
- 用外部上报替代 Verdict、Usage、断言或诊断 Attachment;
- 让后续
show、view或静态报告从外部系统取数; - 从外部系统把结果写回 Record。
在 CI 中使用 JUnit
JUnit 是最直接的外部集成方式:使用 JSON 与 receipt
--json 输出当前进程的 NDJSON。最后一条 receipt 包含 invocationId、runIds、开始时间、结束时间和 completion。外部自动化可以保留 receipt,再根据 runIds 选择要查看的 Report。
接入外部系统时的原则
- 让外部上报只消费当前 Invocation 已知的信息。
- 将凭据保留在运行变量中,不写入输出内容。
- 用退出状态处理 CI 门禁。
- 用 receipt 的
runIds把外部工作流关联到可查看的结果。 - 需要分享页面时,使用
view --out导出静态报告站。