用途:只读访问由 Shiplight CLI / CI runner 上传到 Shiplight Cloud 的测试结果,/v1 为 API 契约版本,不能通过本技能发布运行。
配置:设置环境变量 export SHIPLIGHT_API_URL=https://nova-api.shiplight.ai,所有请求需带 Authorization: Bearer $SHIPLIGHT_API_TOKEN。若用户提供 token,可追加到项目 .env 的 SHIPLIGHT_API_TOKEN=<token>,并提醒不要把 .env 提交到 git。CI 中运行由 shiplight report CLI 上传产物;GitHub Actions 配置见 create-yaml-tests 技能的 references/ci.md。
主要能力(REST,基址 $SHIPLIGHT_API_URL):
- 列出测试运行 GET /v1/test-runs,支持 result、repo、branch、from、to、page、pageSize,按 createdAt 降序。
- 获取单个运行 GET /v1/test-runs/{id},返回 testRun 与全部 testCaseResults(不分页)。
- 按文件查结果 GET /v1/test-results,需 repo 与 file,支持 result、branch、from、to、分页。
- 列出失败测试 GET /v1/failing-tests,需 repo,默认最近 7 天,返回每个 (file, testName) 最新 failed/timedout 行。
- 列出 flaky 测试 GET /v1/flaky-tests,需 repo,返回最新 flaky 行,errorMessage 为触发重试的首次失败。
- 下载 S3 文件 GET /v1/s3/file?uri=…,uri 取自 reportS3Uri、videoS3Uri、traceS3Uri,返回原始字节,可用 curl -o 保存。
统计口径:passedCount 含 flakyCount(严格通过用 passedCount - flakyCount),failedCount 含 timedout,各项之和等于 totalTestCount。
错误处理:400 修正请求/ID/参数;401 token 缺失、无效、过期或环境不符;403 权限不足、S3 URI 非测试结果桶或首段非本组织 ID;404 未找到;500 仅在幂等时重试。
限制:只读,不能发布运行;报告 schema 由 reporter 定义,可能含任意嵌套 s3:// 字段,需自行解析并逐个流式下载。