Querying Defect Details
Function
This API is used to query defect result details by check task ID in pagination mode.
URI
GET /v2/tasks/{task_id}/defects-detail
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
task_id |
Yes |
String |
Task ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
offset |
No |
Integer |
Pagination index, offset Minimum: 0 Default: 0 |
limit |
No |
Integer |
Number of records displayed on each page. A maximum of 100 records can be displayed on each page. Minimum: 1 Maximum: 100 Default: 10 |
status_ids |
No |
String |
Filter by Issue Status |
severity |
No |
String |
Indicates the severity. 0: critical; 1: major; 2: minor; 3: warning. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
It can be obtained by calling an IAM API. The value of X-Subject-Token in the response header is the user token. Minimum: 1 Maximum: 100000 |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
defects |
Array of DefectInfoV2 objects |
Defect Details |
total |
Integer |
Total |
Parameter |
Type |
Description |
---|---|---|
defect_id |
String |
ID of a defect. |
defect_checker_name |
String |
Name of the check item corresponding to the defect |
defect_status |
String |
Defect status. The options are as follows: 0: resolved; 1: resolved; 2: ignored. |
rule_system_tags |
String |
Rule tag. Multiple tags are separated by commas (,). |
rule_id |
String |
Rule ID. |
rule_name |
String |
NATRuleName |
line_number |
String |
Line No. of the File Where the Defect Is Located |
defect_content |
String |
Defect Description |
defect_level |
String |
Defect level. The options are as follows: 0: critical; 1: major; 2: minor; 3: warning. |
file_path |
String |
Defect File Path |
created_at |
String |
Creation Time |
issue_key |
String |
Unique ID of a question. |
fragment |
Array of DefectFragmentV2 objects |
Defect Code Snippet Details |
events |
Array of DefectEvents objects |
Call chain information |
Parameter |
Type |
Description |
---|---|---|
line_num |
String |
Line number |
line_content |
String |
Content of the Code Line |
start_offset |
Integer |
Defect Start Column No. |
end_offset |
Integer |
Defect End Column No. |
Parameter |
Type |
Description |
---|---|---|
events |
Array of DefectEvents objects |
Call chain information |
description |
String |
Description |
fix_suggestions |
Array of strings |
Solution |
line |
Integer |
Line that has a defect |
end_line |
Integer |
Line where a defect ends |
code_context_start_line |
Integer |
Line where a defect starts |
main |
Boolean |
Code snippet |
path |
String |
Path |
tag |
String |
Tag |
main_buggy_code |
String |
Code snippet corresponding to the main event |
code_context |
String |
Code Context |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error Codes |
error_msg |
String |
Description |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error Codes |
error_msg |
String |
Description |
Example Requests
GET https://{endpoint}/v2/tasks/2b31ed520xxxxxxebedb6e57xxxxxxxx/defects-summary
Example Responses
Status code: 200
Request succeeded!
{ "defects" : [ { "line_number" : "81", "defect_id" : "5b71a4594bcb4a69a33f576c3564e6cc", "rule_system_tags" : "fossscan", "rule_id" : "111", "rule_name" : "FossScan.1 OpenSource Software", "defect_checker_name" : "Disallow fallthrough of `case` statements", "defect_status" : "0", "defect_content" : "Update or refactor this function so that its implementation doesn't duplicate the one on line 60.", "defect_level" : "1", "file_path" : "code/types/functions.ts", "created_at" : "2020-07-21T02:12:01Z", "issue_key" : "AA76E96XXXXXXXXXXXXXXXXXCAAE5", "fragment" : [ { "line_num" : "78", "line_content" : " export function padding(all: number);", "start_offset" : -1, "end_offset" : -1 }, { "line_num" : "79", "line_content" : " export function padding(topAndBottom: number, leftAndRight: number);", "start_offset" : -1, "end_offset" : -1 }, { "line_num" : "80", "line_content" : " export function padding(top: number, right: number, bottom: number, left: number);", "start_offset" : -1, "end_offset" : -1 }, { "line_num" : "81", "line_content" : " export function padding(a: number, b?: number, c?: number, d?: number) {", "start_offset" : 11, "end_offset" : 19 }, { "line_num" : "82", "line_content" : " if (b === undefined && c === undefined && d === undefined) {", "start_offset" : -1, "end_offset" : -1 } ] }, { "line_number" : "190", "defect_id" : "5b71a4594wtrfsgrew546t466c3564e6cc", "rule_system_tags" : "fossscan", "rule_id" : "112", "rule_name" : "FossScan.1 OpenSource Software", "defect_checker_name" : "Disallow fallthrough of `case` statements", "defect_status" : "0", "defect_content" : "Update or refactor this function so that its implementation doesn't duplicate the one on line 173.", "defect_level" : "1", "file_path" : "code/types/types.ts", "created_at" : "2020-07-21T02:12:01Z", "issue_key" : "AA76E96XXXXXXXXXXXXXXXXXFE3B6", "fragment" : [ { "line_num" : "187", "line_content" : " var _value;", "start_offset" : -1, "end_offset" : -1 }, { "line_num" : "188", "line_content" : " function getOrSet(): number;", "start_offset" : -1, "end_offset" : -1 }, { "line_num" : "189", "line_content" : " function getOrSet(value: number);", "start_offset" : -1, "end_offset" : -1 }, { "line_num" : "190", "line_content" : " \" function getOrSet(value?: number) {\"", "start_offset" : 4, "end_offset" : 12 }, { "line_num" : "191", "line_content" : " \" if (value === undefined) {\"", "start_offset" : -1, "end_offset" : -1 } ] } ], "total" : 2 }
Status code: 400
Bad Request
{ "error_code" : "CC.00000000", "error_msg" : "The network is busy. Please try again later." }
Status code: 401
Unauthorized
{ "error_code" : "CC.00000003", "error_msg" : "The authentication information has expired." }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded! |
400 |
Bad Request |
401 |
Unauthorized |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.