文档首页/ 代码检查 CodeArts Check/ API参考/ API/ 代码问题/ 获取代码问题统计 - IssueFilter
更新时间:2025-12-30 GMT+08:00
分享

获取代码问题统计 - IssueFilter

功能介绍

此API会根据参数中的筛选条件,返回符合条件的代码问题统计数据。

调用方法

请参见如何调用API

授权信息

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

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

codeartscheck:task:getReport

Read

task *

-

-

-

-

codeartscheck:ProjectId

URI

POST /v1/defect/issue-filter

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Language

String

参数解释:

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

约束限制:

不涉及。

取值范围:

  • zh-cn:中文。

  • en-us:英文。

默认取值:

zh-cn。

表2 请求Body参数

参数

是否必选

参数类型

描述

taskId

String

参数解释:

任务ID,即新建检查任务接口的返回值,每个代码检查任务及其下的分支任务、通过API创建的增量任务都有唯一的任务ID。即查询任务列表接口响应中的id字段。

约束限制:

不涉及。

取值范围:

长度为[1~32]个字符。

默认取值:

不涉及。

mergeId

String

参数解释:

合并请求ID。实际仅用于区分版本级和门禁级,版本级不传,门禁级传任意非空值即可。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

jobId

String

参数解释:

执行ID,来自代码检查执行任务接口的返回值,每次执行代码检查任务都有唯一的执行ID。版本级不传,门禁级必传。即“根据任务ID查询任务执行记录”的响应中的ID字段。

约束限制:

不涉及。

取值范围:

长度为[1~32]个字符。

默认取值:

不涉及。

facets

String

参数解释:

需要分类统计的项,多项都需要分类统计时,以","分隔。

约束限制:

不涉及。

取值范围:

  • languages:编程语言。

  • ruleIds:规则ID。

  • authors:问题负责人。

  • isNew:是否新问题。

  • statusIds:问题状态。

  • severities:问题级别。

  • delayStatus:延迟状态。

  • fileNames:文件名。

  • userTags:标签。

  • cwes:CWE编号。

默认取值:

不涉及。

languages

String

参数解释:

编程语言。

约束限制:

不涉及。

取值范围:

  • PYTHON:PYTHON语言。

  • JAVA:JAVA语言。

  • C++:C++语言。

  • CSS:CSS语言。

  • PHP:PHP语言。

  • JAVASCRIPT:JAVASCRIPT语言。

  • GO:GO语言。

  • HTML:HTML语言。

  • C#:C#语言。

  • TYPESCRIPT:TYPESCRIPT语言。

  • SHELL:SHELL语言。

  • LUA:LUA语言。

  • RUST:RUST语言。

  • KOTLIN:KOTLIN语言。

  • SCALA:SCALA语言。

  • ARKTS:ARKTS语言。

  • SQL:SQL语言。

  • CANGJIE:CANGJIE语言。

默认取值:

不涉及。

ruleIds

String

参数解释:

规则ID。调用本接口,facets参数传入ruleIds,从响应体中获取,参见响应体说明。在响应体Facet.property=ruleIds时,取FacetItem.val即规则ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

authors

String

参数解释:

问题负责人的用户名。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

isNew

String

参数解释:

是否新问题。

约束限制:

不涉及。

取值范围:

  • 0:所有问题,包含新问题。

  • 1:新问题。

默认取值:

不涉及。

statusIds

String

参数解释:

问题状态。

约束限制:

不涉及。

取值范围:

  • 0:待处理。

  • 2:已解决。

  • 5:已忽略。

  • 6:已修复。

默认取值:

不涉及。

severities

String

参数解释:

问题级别。

约束限制:

不涉及。

取值范围:

  • 0:致命。

  • 1:严重。

  • 2:一般。

  • 3:提示。

默认取值:

不涉及。

delayStatus

String

参数解释:

延迟状态。

约束限制:

不涉及。

取值范围:

  • 0:正式。

  • 1:延迟上线。

默认取值:

不涉及。

fileNames

String

参数解释:

文件名,精准匹配。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

userTags

Array of strings

参数解释:

标签。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

cwes

Array of strings

参数解释:

cwe编号。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

status

String

参数解释:

响应状态。

取值范围:

  • success:成功。

  • error:失败。

result

Array of IssueFilter objects

参数解释:

代码问题分维度统计。

表4 IssueFilter

参数

参数类型

描述

facets

Array of Facet objects

参数解释:

各个维度的统计。

表5 Facet

参数

参数类型

描述

property

String

参数解释:

维度。

取值范围:

  • languages:编程语言。

  • ruleIds:规则ID。

  • authors:问题负责人。

  • isNew:是否新问题。

  • statusIds:问题状态。

  • severities:问题级别。

  • delayStatus:延迟状态。

  • fileNames:文件名。

  • userTags:标签。

  • cwes:CWE编号。

values

Array of FacetItem objects

参数解释:

维度下不同分类的问题数统计。

表6 FacetItem

参数

参数类型

描述

val

String

参数解释:

维度下的分类,可能是问题状态、问题级别、责任人、规则ID或其他分类值。

取值范围:

不涉及。

count

String

参数解释:

数量。

取值范围:

不涉及。

状态码:400

表7 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误描述。

取值范围:

不涉及。

状态码:401

表8 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误描述。

取值范围:

不涉及。

请求示例

查询ID为897acf5exxx48a5013cd的任务最新一次版本级扫描的问题数统计。所有严重问题根据问题状态分类统计的数量。

POST https://{endpoint}/v1/defect/issue-filter

{
  "taskId" : "897acf5exxx48a5013cd",
  "jobId" : "",
  "mergeId" : "",
  "facets" : "statuses",
  "statusIds" : "",
  "severities" : "1",
  "delayStatus" : "",
  "isNew" : "",
  "languages" : "",
  "authors" : "",
  "fileNames" : "",
  "ruleIds" : ""
}

响应示例

状态码:200

代码问题分维度统计响应体

{
  "status" : "success",
  "error" : null,
  "result" : {
    "total" : null,
    "info" : [ ],
    "facets" : [ {
      "values" : [ {
        "val" : "0",
        "id" : null,
        "count" : "1",
        "nickName" : null,
        "parentId" : null,
        "sort" : null
      }, {
        "val" : "5",
        "id" : null,
        "count" : "999",
        "nickName" : null,
        "parentId" : null,
        "sort" : null
      }, {
        "val" : "6",
        "id" : null,
        "count" : "1237",
        "nickName" : null,
        "parentId" : null,
        "sort" : null
      } ],
      "trees" : [ ],
      "property" : "statuses"
    }, {
      "values" : [ {
        "val" : "0",
        "id" : null,
        "count" : "119",
        "nickName" : null,
        "parentId" : null,
        "sort" : null
      }, {
        "val" : "1",
        "id" : null,
        "count" : "602",
        "nickName" : null,
        "parentId" : null,
        "sort" : null
      }, {
        "val" : "2",
        "id" : null,
        "count" : "516",
        "nickName" : null,
        "parentId" : null,
        "sort" : null
      }, {
        "val" : "3",
        "id" : null,
        "count" : "1000",
        "nickName" : null,
        "parentId" : null,
        "sort" : null
      } ],
      "trees" : [ ],
      "property" : "severities"
    } ]
  }
}

状态码:400

Bad Request

{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "请求参数校验失败,请检查请求参数是否正确"
}

状态码:401

Unauthorized

{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期"
}

状态码

状态码

描述

200

代码问题分维度统计响应体

400

Bad Request

401

Unauthorized

错误码

请参见错误码

相关文档