查询重复代码块信息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,即新建检查任务接口的返回值,每个CodeArtsCheck任务及其下的分支任务、通过API创建的增量任务都有1个唯一的任务ID。即“查询任务列表接口”的响应中的ID字段。 约束限制: 不涉及。 取值范围: 字符串长度不少于1,不超过32。 默认取值: 不涉及。 |
|
jobId |
否 |
String |
参数解释: 执行ID,来自代码检查执行任务接口的返回值,每次执行代码检查任务都有唯一的执行ID。版本级不传,门禁级必传。即“根据任务ID查询任务执行记录”的响应中的ID字段。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
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
Request succeeded!
{
"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.00000000",
"error_msg" : "网络繁忙,请稍后再试"
}
状态码:401
Unauthorized
{
"error_code" : "CC.00000003",
"error_msg" : "认证信息过期"
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
Request succeeded! |
|
400 |
Bad Request |
|
401 |
Unauthorized |
错误码
请参见错误码。