代码扫描

创建代码扫描

请求

  1. POST /openapi/quality/codescan

body 参数说明

参数名说明类型必填
project_name项目标识string
name代码扫描名称string
description代码扫描简介string
scanner_type代码扫描工具,可选值:sonarQubeotherstring
image_name扫描环境的镜像名称string
repo_info代码库信息[]RepoInfo
addons依赖的软件包信息,不需要时填写空数组即可[]AddOn
prelaunch_script前置脚本string
sonar_parameter代码扫描脚本stringscanner_type = sonarQube 时必填
script代码扫描脚本stringscanner_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 资源,单位 mint
memory_limit最大内存资源,单位 Miint
cpu_request最小 CPU 资源,单位 mint
memory_request最小内存资源,单位 Miint

Webhooks 参数说明

参数名说明类型必填
enabled是否启用触发器bool
hook_list触发器配置详情[]Hookenabled = true 时必填

Hook 参数说明

参数名说明类型必填
codehost_name代码源标识string
repo_namespace代码库所在的命名空间string
repo_name代码库名称string
branch目标分支信息string
events触发事件类型,可选项:pushpull_requesttag[]string
match_folders文件目录[]string

body 参数示例

  1. {
  2. "project_name": "demo",
  3. "name": "codescan-demo",
  4. "description": "code scan demo description",
  5. "scanner_type": "sonarQube",
  6. "image_name": "sonar:v1",
  7. "repo_info": [
  8. {
  9. "codehost_name": "github-demo",
  10. "repo_namespace": "kr-test-org",
  11. "repo_name": "zadig",
  12. "branch": "main"
  13. }
  14. ],
  15. "sonar_parameter": "sonar.projectKey=zadig\nsonar.projectName=zadig\nsonar.sources=./cmd/aslan",
  16. "enable_quality_gate": true,
  17. "advanced_settings": {
  18. "cluster_name": "dev-cluster",
  19. "timeout": 60,
  20. "resource_spec": {
  21. "cpu_limit": 1000,
  22. "memory_limit": 1000,
  23. "cpu_request": 500,
  24. "memory_request": 500
  25. }
  26. }
  27. }

返回

  1. {
  2. "message": "success"
  3. }