CanyonAPI文档
覆盖率上报接口
接口说明
覆盖率上报接口,用于上报覆盖率数据。
请求URL
POST /coverage/client
请求参数
参数名 | 类型 | 是否必须 | 说明 |
---|---|---|---|
projectID | string | 是 | git仓库ID,window.__canyon__中 |
sha | string | 是 | git提交ID,window.__canyon__中 |
branch | string | 否 | git分支,window.__canyon__中 |
instrumentCwd | string | 是 | babel插桩路径,window.__canyon__中 |
compareTarget | string | 否 | 对比目标,用作基线与当前sha对比计算变更行覆盖率 |
coverage | object | 是 | 覆盖率数据,window.__coverage__ |
reportID | string | 否 | 上报ID,用作覆盖率触发源头的查询,例如可把UI自动化的任务ID作为reportID |
ℹ️
- projectID、sha、branch、instrumentCwd已于gitlab流水线变量中获取,发布时无需手动填写。只需要关心是否需要设置对比目标compareTarget、是否需要reportID。
- 需要加请求头
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
}