获取重复文件代码 - 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 | 参数解释: 文件代码。 |
状态码: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 |
错误码
请参见错误码。

