查询重复代码块信息V2 - GetRelatedDuplicateBlocksV2
功能介绍
查询文件下涉及的所有重复代码块,或查询与某个重复代码块重复的其他代码块。
调用方法
请参见如何调用API。
授权信息
账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项。
授权项 | 访问级别 | 资源类型(*为必须) | 条件键 | 别名 | 依赖的授权项 |
|---|---|---|---|---|---|
codeartscheck:task:getReport | Read | task * | - | - | - |
- | codeartscheck:ProjectId |
URI
POST /v2/related-duplicate-blocks
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Language | 否 | String | 参数解释: 语言,决定响应以哪种语言返回。 约束限制: 不涉及。 取值范围:
默认取值: zh-cn。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
taskId | 是 | String | 参数解释: 任务ID,即新建检查任务接口的返回值,每个代码检查任务及其下的分支任务、通过API创建的增量任务都有唯一的任务ID。即查询任务列表接口响应中的id字段。 约束限制: 不涉及。 取值范围: 长度为[1~32]个字符。 默认取值: 不涉及。 |
jobId | 否 | String | 参数解释: 执行ID,来自代码检查执行任务接口的返回值,每次执行代码检查任务都有唯一的执行ID。版本级不传,门禁级必传。即“根据任务ID查询任务执行记录”的响应中的ID字段。 约束限制: 不涉及。 取值范围: 长度为[1~32]个字符。 默认取值: 不涉及。 |
filePath | 否 | String | 参数解释: 文件路径,查询该文件下涉及的所有重复块。 约束限制: 与blockId参数二选一。 取值范围: 不涉及。 默认取值: 不涉及。 |
blockId | 否 | String | 参数解释: 重复块ID或重复文件ID。 约束限制: 与filePath参数二选一。 取值范围: 不涉及。 默认取值: 不涉及。 |
startLine | 否 | Integer | 参数解释: 需要在查询结果中去掉的重复块的起始行数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
duplicationType | 否 | String | 参数解释: 重复类型,与blockId配合使用才有效。决定是重复块ID还是重复文件ID。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
status | String | 参数解释: 响应状态。 取值范围:
|
result | Array of DuplicationFile objects | 参数解释: 查询重复代码块信息结果。 |
参数 | 参数类型 | 描述 |
|---|---|---|
filePath | String | 参数解释: 文件路径。 取值范围: 不涉及。 |
fileName | String | 参数解释: 文件名称。 取值范围: 不涉及。 |
blockInfo | Array of BlockInfo objects | 参数解释: 关联的重复信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
blockId | String | 参数解释: 重复块ID或重复文件ID。 取值范围: 不涉及。 |
duplicationType | String | 参数解释: 重复类型,与blockId配合使用才有效。决定是重复块ID还是重复文件ID。 取值范围:
|
filePath | String | 参数解释: 文件路径。 取值范围: 不涉及。 |
startLine | Integer | 参数解释: 重复开始行号。 取值范围: 不涉及。 |
endLine | Integer | 参数解释: 重复结束行号。 取值范围: 不涉及。 |
状态码:400
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 参数解释: 错误码。 取值范围: 不涉及。 |
error_msg | String | 参数解释: 错误描述。 取值范围: 不涉及。 |
状态码:401
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 参数解释: 错误码。 取值范围: 不涉及。 |
error_msg | String | 参数解释: 错误描述。 取值范围: 不涉及。 |
请求示例
在ID为897acf5exxx48a5013cd的任务下,查询code/test.java文件下的所有涉及的重复代码块和重复文件。
POST https://{endpoint}/v1/related-duplicate-blocks { "taskId" : "897acf5exxx48a5013cd", "file_path" : "code/test.java" }在ID为897acf5exxx48a5013cd的任务下,查询与ID为1的代码块重复的所有代码块。
POST https://{endpoint}/v1/related-duplicate-blocks { "taskId" : "897acf5exxx48a5013cd", "duplication_type" : "duplication_code", "block_id" : "1" }在ID为897acf5exxx48a5013cd的任务下,查询与ID为1的重复文件重复的所有文件。
POST https://{endpoint}/v1/related-duplicate-blocks { "taskId" : "897acf5exxx48a5013cd", "duplication_type" : "duplication_file", "block_id" : "1" }
响应示例
状态码:200
查询重复代码块信息V2响应体
{
"status" : "success",
"error" : null,
"result" : [ {
"filePath" : "vote/assets/plugins/bootstrap-switch/test/bootstrap-switch.js",
"fileName" : "bootstrap-switch.js",
"blockInfo" : [ {
"blockId" : "1",
"duplicationType" : "duplication_file",
"filePath" : "vote/assets/plugins/bootstrap-switch/test/bootstrap-switch.js",
"startLine" : 0,
"endLine" : 0
} ]
} ]
} 状态码:400
Bad Request
{
"error_code" : "CC.xxxxxxxx.400",
"error_msg" : "请求参数校验失败,请检查请求参数是否正确"
} 状态码:401
Unauthorized
{
"error_code" : "CC.00000003",
"error_msg" : "认证信息过期"
} 状态码
状态码 | 描述 |
|---|---|
200 | 查询重复代码块信息V2响应体 |
400 | Bad Request |
401 | Unauthorized |
错误码
请参见错误码。

