Help Center/ CodeArts Check/ API Reference/ APIs/ Code Metrics/ Querying Duplicate Code Blocks
Updated on 2026-02-03 GMT+08:00

Querying Duplicate Code Blocks

Function

This API is used to query all duplicate code blocks in a file, or to query code blocks that are identical to a specified one.

Calling Method

For details, see Calling APIs.

Authorization Information

Each account root user has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.

Action

Access Level

Resource Type (*: required)

Condition Key

Alias

Dependencies

codeartscheck:task:getReport

Read

task *

-

-

-

-

codeartscheck:ProjectId

URI

GET /v1/tasks/{task_id}/related-duplicate-blocks

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

task_id

Yes

String

Definition :

Task ID, returned by the API for creating a check task. Each code check task, branch task, or incremental task generated through an API has a unique ID. Obtain the ID by calling the API used to . id indicates the task ID.

Constraints:

N/A

Value range:

1 to 128 characters.

Default value:

N/A

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

job_id

No

String

Definition

Execution record ID, that is, the unique ID of each version or quality gate scan. The ID is used to query quality gate tasks.

Constraints

N/A

Range

N/A

Default Value

N/A

file_path

No

String

Definition:

File path. All duplicate code blocks in the file will be queried.

Constraints:

Set either this parameter or block_id.

Value range:

N/A

Default value:

N/A

block_id

No

String

Definition:

ID of a duplicate code block or file. All code blocks or files that are identical to the one with the specified ID will be queried.

Constraints:

Set either this parameter or file_path.

Value range:

N/A

Default value:

N/A

duplication_type

No

String

Definition:

Duplicate type. Use this parameter together with block_id. Determine whether the duplicate block ID or duplicate file ID is used.

Constraints:

This parameter is valid only when it is used together with block_id.

Value range:

  • duplication_code: duplicate code blocks.

  • duplication_file: duplicate files.

Default value:

N/A

Request Parameters

Table 3 Request header parameters

Parameter

Mandatory

Type

Description

X-Language

No

String

Definition:

Language of the response.

Constraints:

N/A

Value range:

  • zh-cn: Chinese.

  • en-us: English.

Default value:

zh-cn

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

status

String

Definition:

Response status.

Value range:

  • success: successful.

  • error: failed.

result

Array of DuplicationFile objects

Definition:

Result of querying duplicate code blocks.

Table 5 DuplicationFile

Parameter

Type

Description

filePath

String

Definition:

File path.

Value range:

N/A

fileName

String

Definition:

File name.

Value range:

N/A

blockInfo

Array of BlockInfo objects

Definition:

Associated duplicate information.

Table 6 BlockInfo

Parameter

Type

Description

blockId

String

Definition:

Duplicate block ID or duplicate file ID.

Value range:

N/A

duplicationType

String

Definition:

Duplicate type. Use this parameter together with blockId. Determine whether the duplicate block ID or duplicate file ID is used.

Value range:

  • duplication_code: duplicate code blocks.

  • duplication_file: duplicate files.

filePath

String

Definition:

File path.

Value range:

N/A

startLine

Integer

Definition:

Start line No. of duplicate code.

Value range:

N/A

endLine

Integer

Definition:

End line No. of duplicate code.

Value range:

N/A

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Definition:

Error code.

Value range:

N/A

error_msg

String

Definition:

Error message.

Value range:

N/A

Status code: 401

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Definition:

Error code.

Value range:

N/A

error_msg

String

Definition:

Error message.

Value range:

N/A

Example Requests

  • Query all duplicate code blocks and files in the vote/assets/plugins/bootstrap-switch/test/bootstrap-switch.js file under task ID 897acf5exxx48a5013cd.

    GET https://{endpoint}/v1/tasks/897acf5exxx48a5013cd/related-duplicate-blocks?file_path=vote%2Fassets%2Fplugins%2Fbootstrap-switch%2Ftest%2Fbootstrap-switch.js
  • Query all code blocks identical to code block ID 1 under task ID 897acf5exxx48a5013cd.

    GET https://{endpoint}/v1/tasks/897acf5exxx48a5013cd/related-duplicate-blocks?duplication_type=duplication_code&block_id=1
  • Query all files identical to file ID 1 under task ID 897acf5exxx48a5013cd.

    GET https://{endpoint}/v1/tasks/897acf5exxx48a5013cd/related-duplicate-blocks?duplication_type=duplication_file&block_id=1

Example Responses

Status code: 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
    } ]
  } ]
}

Status code: 400

Bad Request

{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "Verify request parameter failed. Check whether the request parameters are correct."
}

Status code: 401

Unauthorized

{
  "error_code" : "CC.00000003",
  "error_msg" : "Authentication information expired."
}

Status Codes

Status Code

Description

200

Request succeeded!

400

Bad Request

401

Unauthorized

Error Codes

See Error Codes.