文档
参考
API

CanyonAPI文档

覆盖率上报接口

接口说明

覆盖率上报接口,用于上报覆盖率数据。

请求URL

POST /coverage/client

请求参数

参数名类型是否必须说明
projectIDstringgit仓库ID,window.__canyon__中
shastringgit提交ID,window.__canyon__中
branchstringgit分支,window.__canyon__中
instrumentCwdstringbabel插桩路径,window.__canyon__中
compareTargetstring对比目标,用作基线与当前sha对比计算变更行覆盖率
coverageobject覆盖率数据,window.__coverage__
reportIDstring上报ID,用作覆盖率触发源头的查询,例如可把UI自动化的任务ID作为reportID
ℹ️
  1. projectID、sha、branch、instrumentCwd已于gitlab流水线变量中获取,发布时无需手动填写。只需要关心是否需要设置对比目标compareTarget、是否需要reportID。
  2. 需要加请求头 Authorization: Bearer ${token},token为用户登录后获取的token,在Canyon平台 获取

请求示例

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer xxx" -d '{
    "projectID": "canyon",
    "sha": "f3b3e3e",
    "branch": "master",
    "instrumentCwd": "/Users/xxx/xxx",
    "compareTarget": "master",
    "coverage": window.__coverage__,
    "reportID": "65ee917b01db4567ef1a64a1"
}' "https://canyon/coverage/client"

响应示例

{
  "msg": "ok",
  "coverageId": "cltmheo883nrk14ij46q8lrxc",
  "coverageDataId": "65ee917b01db4567ef1a64a1",
  "dataFormatAndCheckTime": 43,
  "coverageInsertDbTime": 3
}