代码扫描
创建代码扫描
请求
POST /openapi/quality/codescan
body 参数说明
参数名 | 说明 | 类型 | 必填 |
---|
project_name | 项目标识 | string | 是 |
name | 代码扫描名称 | string | 是 |
description | 代码扫描简介 | string | 否 |
scanner_type | 代码扫描工具,可选值:sonarQube 、other | string | 是 |
image_name | 扫描环境的镜像名称 | string | 是 |
repo_info | 代码库信息 | []RepoInfo | 是 |
addons | 依赖的软件包信息,不需要时填写空数组即可 | []AddOn | 是 |
prelaunch_script | 前置脚本 | string | 否 |
sonar_parameter | 代码扫描脚本 | string | scanner_type = sonarQube 时必填 |
script | 代码扫描脚本 | string | scanner_type = other 时必填 |
enable_quality_gate | 是否开启质量门禁检查 | bool | 是 |
advanced_settings | 高级配置 | AdvancedSettings | 是 |
RepoInfo 参数说明
参数名 | 说明 | 类型 | 必填 |
---|
codehost_name | 代码源标识 | string | 是 |
repo_namespace | 代码库所属命名空间(组织/个人) | string | 是 |
repo_name | 代码库名称 | string | 是 |
branch | 分支信息 | string | 是 |
AddOn 参数说明
参数名 | 说明 | 类型 | 必填 |
---|
name | 软件包名称 | string | 是 |
version | 软件包版本 | string | 是 |
AdvancedSettings 参数说明
参数名 | 说明 | 类型 | 必填 |
---|
cluster_name | 资源配置中的集群名称 | string | 是 |
timeout | 策略配置中的超时时间 | int | 是 |
resource_spec | 资源配置 | ResourceSpec | 是 |
webhooks | 触发器配置 | Webhooks | 否 |
ResourceSpec 参数说明
参数名 | 说明 | 类型 | 必填 |
---|
cpu_limit | 最大 CPU 资源,单位 m | int | 是 |
memory_limit | 最大内存资源,单位 Mi | int | 是 |
cpu_request | 最小 CPU 资源,单位 m | int | 是 |
memory_request | 最小内存资源,单位 Mi | int | 是 |
Webhooks 参数说明
参数名 | 说明 | 类型 | 必填 |
---|
enabled | 是否启用触发器 | bool | 是 |
hook_list | 触发器配置详情 | []Hook | enabled = true 时必填 |
Hook 参数说明
参数名 | 说明 | 类型 | 必填 |
---|
codehost_name | 代码源标识 | string | 是 |
repo_namespace | 代码库所在的命名空间 | string | 是 |
repo_name | 代码库名称 | string | 是 |
branch | 目标分支信息 | string | 是 |
events | 触发事件类型,可选项:push 、pull_request 、tag | []string | 是 |
match_folders | 文件目录 | []string | 是 |
body 参数示例
{
"project_name": "demo",
"name": "codescan-demo",
"description": "code scan demo description",
"scanner_type": "sonarQube",
"image_name": "sonar:v1",
"repo_info": [
{
"codehost_name": "github-demo",
"repo_namespace": "kr-test-org",
"repo_name": "zadig",
"branch": "main"
}
],
"sonar_parameter": "sonar.projectKey=zadig\nsonar.projectName=zadig\nsonar.sources=./cmd/aslan",
"enable_quality_gate": true,
"advanced_settings": {
"cluster_name": "dev-cluster",
"timeout": 60,
"resource_spec": {
"cpu_limit": 1000,
"memory_limit": 1000,
"cpu_request": 500,
"memory_request": 500
}
}
}
返回
{
"message": "success"
}