文档首页/ 代码检查 CodeArts Check/ API参考/ API/ 代码度量/ 查询重复代码块信息V2 - GetRelatedDuplicateBlocksV2
更新时间:2025-12-09 GMT+08:00
分享

查询重复代码块信息V2 - GetRelatedDuplicateBlocksV2

功能介绍

查询文件下涉及的所有重复代码块,或查询与某个重复代码块重复的其他代码块。

调用方法

请参见如何调用API

授权信息

账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

codeartscheck:task:getReport

Read

task *

-

-

-

-

codeartscheck:ProjectId

URI

POST /v2/related-duplicate-blocks

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Language

String

参数解释:

语言,决定响应以哪种语言返回。

约束限制:

不涉及。

取值范围:

  • zh-cn,中文。

  • en-us,英文。

默认取值:

zh-cn。

表2 请求Body参数

参数

是否必选

参数类型

描述

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。

约束限制:

不涉及。

取值范围:

  • duplication_code,重复代码块

  • duplication_file,重复文件

默认取值:

不涉及。

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

status

String

参数解释:

响应状态。

取值范围:

  • success,成功。

  • error,失败。

result

Array of DuplicationFile objects

参数解释:

查询重复代码块信息结果。

约束限制:

不涉及。

表4 DuplicationFile

参数

参数类型

描述

filePath

String

参数解释:

文件路径。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

fileName

String

参数解释:

文件名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

blockInfo

Array of BlockInfo objects

参数解释:

关联的重复信息。

约束限制:

不涉及。

表5 BlockInfo

参数

参数类型

描述

blockId

String

参数解释:

重复块ID或重复文件ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

duplicationType

String

参数解释:

重复类型,与blockId配合使用才有效。决定是重复块ID还是重复文件ID。

约束限制:

不涉及。

取值范围:

  • duplication_code,重复代码块

  • duplication_file,重复文件

默认取值:

不涉及。

filePath

String

参数解释:

文件路径。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

startLine

Integer

参数解释:

重复开始行号。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

endLine

Integer

参数解释:

重复结束行号。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

状态码:400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码:401

表7 响应Body参数

参数

参数类型

描述

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

错误码

请参见错误码

相关文档