
# 获取代码问题统计 - IssueFilter
#### 功能介绍
此API会根据参数中的筛选条件，返回符合条件的代码问题统计数据。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-codecheck/codecheck_03_0006.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-codecheck/Permission.html)。
| 授权项                          | 访问级别 | 资源类型（\*为必须） | 条件键                     | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartscheck:task:getReport | Read | task \*     | -                       | -  | -      |
| codeartscheck:task:getReport | Read | -           | 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。即[查询任务列表](https://support.huaweicloud.com/api-codecheck/ShowTasksList.html)接口响应中的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   - JAVA   - C++   - CSS   - PHP   - JAVASCRIPT   - GO   - HTML   - C#   - TYPESCRIPT   - SHELL   - LUA   - RUST   - KOTLIN   - SCALA   - ARKTS   - SQL   - 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 | **参数解释：** 标签。调用本接口，facets参数传入userTags，从响应体中获取，参见响应体说明。在响应体Facet.property=userTags时，取FacetItem.val即标签。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| cwes        | 否    | Array of strings | **参数解释：** cwe编号。调用本接口，facets参数传入cwes，从响应体中获取，参见响应体说明。在响应体Facet.property=cwes时，取FacetItem.val即cwe编号。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数     | 参数类型                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| status | String                                                             | **参数解释：** 响应状态。 **取值范围：** - success：成功。   - error：失败。    |
| result | Array of [IssueFilter] objects | **参数解释：** 代码问题分维度统计。                                                                                                                                                                                                                                                                                                                                                                |
   
 表4IssueFilter 
| 参数     | 参数类型                                                   | 描述                                                |
|:---|:---|:---|
| facets | Array of [Facet] objects | **参数解释：** 各个维度的统计。 |
   
 表5Facet 
| 参数       | 参数类型                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| property | String                                                         | **参数解释：** 维度。 **取值范围：** - languages：编程语言。   - ruleIds：规则ID。   - authors：问题负责人。   - isNew：是否新问题。   - statusIds：问题状态。   - severities：问题级别。   - delayStatus：延迟状态。   - fileNames：文件名。   - userTags：标签。   - cwes：CWE编号。    |
| values   | Array of [FacetItem] objects | **参数解释：** 维度下不同分类的问题数统计。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表6FacetItem 
| 参数    | 参数类型   | 描述                                                                                                                                                        |
|:---|:---|:---|
| 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**
请求异常。
```
{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "请求参数校验失败,请检查请求参数是否正确"
}
```
**状态码：401**
权限不足。
```
{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期"
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | 代码问题分维度统计响应体 |
| 400 | 请求异常。        |
| 401 | 权限不足。        |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-codecheck/ErrorCode.html)。
