获取重复文件代码 - GetMeasureDuplicationInfo
功能介绍
根据文件路径和起止行数或重复块ID,获取对应的文件代码。
调用方法
请参见如何调用API。
授权信息
账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项。
| 授权项 | 访问级别 | 资源类型(*为必须) | 条件键 | 别名 | 依赖的授权项 |
|---|---|---|---|---|---|
| codeartscheck:task:getReport | Read | task * | - | - | - |
| - | codeartscheck:ProjectId |
URI
POST /v1/measure/measure-duplication-info
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Language | 否 | String | 参数解释: 语言,决定响应以哪种语言返回。 约束限制: 不涉及。 取值范围: 默认取值: zh-cn。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| taskId | 是 | String | 参数解释: 任务ID,即新建检查任务接口的返回值,每个代码检查任务及其下的分支任务、通过API创建的增量任务都有唯一的任务ID。即查询任务列表接口响应中的id字段。 约束限制: 不涉及。 取值范围: 长度为[1~32]个字符。 默认取值: 不涉及。 |
| jobId | 否 | String | 参数解释: 执行ID,来自代码检查执行任务接口的返回值,每次执行代码检查任务都有唯一的执行ID。版本级不传,门禁级必传。即“根据任务ID查询任务执行记录”的响应中的ID字段。 约束限制: 不涉及。 取值范围: 长度为[1~32]个字符。 默认取值: 不涉及。 |
| filePath | 是 | String | 参数解释: 文件路径。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| blockId | 否 | String | 参数解释: 重复块ID。 约束限制: 传startLine、endLine或传bockId,二选一。 取值范围: 不涉及。 默认取值: 不涉及。 |
| startLine | 否 | Integer | 参数解释: 开始行数。 约束限制: 传startLine、endLine或传bockId,二选一。 取值范围: 不涉及。 默认取值: 不涉及。 |
| endLine | 否 | Integer | 参数解释: 结束行数。 约束限制: 传startLine、endLine或传bockId,二选一。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| status | String | 参数解释: 响应状态。 取值范围: |
| result | MeasureDuplicationInfo object | 参数解释: 重复文件代码。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| codeHubFileUrl | String | 参数解释: 文件的代码仓访问域名后缀。 取值范围: 不涉及。 |
| rawLines | String | 参数解释: 文件行数。 取值范围: 不涉及。 |
| code | Array of CodeLine objects | 参数解释: 文件代码。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| lineNumber | Integer | 参数解释: 行号。 取值范围: 不涉及。 |
| lineContent | String | 参数解释: 代码内容。 取值范围: 不涉及。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。 取值范围: 不涉及。 |
| error_msg | String | 参数解释: 错误描述。 取值范围: 不涉及。 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。 取值范围: 不涉及。 |
| error_msg | String | 参数解释: 错误描述。 取值范围: 不涉及。 |
请求示例
-
查询ID为897acf5exxx48a5013cd的任务下,code/test.java文件第1行到第200行的代码内容。
POST https://{endpoint}/v1/measure/measure-duplication-info { "taskId" : "897acf5exxx48a5013cd", "filePath" : "code/test.java", "blockId" : "", "startLine" : 1, "endLine" : 200 } -
查询ID为897acf5exxx48a5013cd的任务下,code/test.java文件的重复块ID为1的代码内容。
POST https://{endpoint}/v1/measure/measure-duplication-info { "taskId" : "897acf5exxx48a5013cd", "filePath" : "code/test.java", "blockId" : "1" }
响应示例
状态码:200
获取重复文件代码响应体
{
"status" : "success",
"error" : null,
"result" : {
"code" : [ {
"lineNumber" : "18,",
"lineContent" : "if ( typeof require !== \"undefined\" &&"
}, {
"lineNumber" : "19,",
"lineContent" : "\ttypeof exports !== \"undefined\" &&"
}, {
"lineNumber" : "20,",
"lineContent" : "\ttypeof module !== \"undefined\" ) {"
}, {
"lineNumber" : "21,",
"lineContent" : "\t// Assume CommonJS"
}, {
"lineNumber" : "22,",
"lineContent" : "\tGlobalize = require( \"globalize\" );"
} ]
}
} 状态码:400
Bad Request
{
"error_code" : "CC.xxxxxxxx.400",
"error_msg" : "请求参数校验失败,请检查请求参数是否正确"
} 状态码:401
Unauthorized
{
"error_code" : "CC.00000003",
"error_msg" : "认证信息过期"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 获取重复文件代码响应体 |
| 400 | Bad Request |
| 401 | Unauthorized |
错误码
请参见错误码。