参考
API

CanyonAPI文档

覆盖率上报接口

1. 接口说明

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

2. 请求URL

POST /coverage/client

3. 请求参数

参数名类型是否必须说明
projectIDstringgit仓库ID,window.__canyon__中
shastringgit提交ID,window.__canyon__中
branchstringgit分支,window.__canyon__中
instrumentCwdstringbabel插桩路径,window.__canyon__中
compareTargetstring对比目标,用作基线与当前sha对比计算变更行覆盖率
coverageObject覆盖率数据,window.__coverage__
reportIDstring上报ID,用作覆盖率触发源头的查询,例如可把UI自动化的任务ID作为reportID

:::tip

  1. projectID、sha、branch、instrumentCwd已于gitlab流水线变量中获取,发布时无需手动填写。只需要关心是否需要设置对比目标compareTarget、是否需要reportID。
  2. 需要加请求头 Authorization: Bearer ${token},token为用户登录后获取的token,在 Canyon平台 (opens in a new tab) 获取 :::

4. 请求示例

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"

5. 响应示例

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