|
| 1 | +# API调用脚本使用指引 |
| 2 | + |
| 3 | +## 操作步骤 |
| 4 | +#### 1. 修改脚本api_invoke.py的内部参数,填写个人令牌mytoken |
| 5 | +#### 2. 部署代码分析服务 |
| 6 | +#### 3. 进入项目根目录 |
| 7 | +#### 4. 检查requests 模块是否安装,如未安装,可执行下列安装指令。 |
| 8 | +```bash |
| 9 | +pip install requests |
| 10 | +``` |
| 11 | +#### 5. 设置参数method,选择要执行的api接口,并根据接口添加所需参数。 |
| 12 | +#### 6. 执行脚本python ScriptsAPI.py |
| 13 | + |
| 14 | +## 方法总览 |
| 15 | + |
| 16 | +| method | 类型 | |
| 17 | +|------------------------|---------------------| |
| 18 | +| create_repository | 创建代码库 | |
| 19 | +| update_scheme_settings | 设置指定代码库的指定方案的代码度量配置 | |
| 20 | +| create_project | 创建分析项目 | |
| 21 | +| create_scans | 启动任务 | |
| 22 | +| get_scan_cons | 轮询任务结果 | |
| 23 | +| get_overview | 获取分析概览 | |
| 24 | +| get_issues | 查看扫描问题列表 | |
| 25 | +| get_issue_detail | 查看问题详情 | |
| 26 | +| get_ccissues | 查看指定项目的圈复杂度问题列表 | |
| 27 | +| get_dupfiles | 查看指定项目的重复文件列表 | |
| 28 | + |
| 29 | + |
| 30 | +## API详细信息 |
| 31 | + |
| 32 | + |
| 33 | +### 一、创建代码库 |
| 34 | +#### 1. url请求 |
| 35 | +``` |
| 36 | +POST /server/main/api/orgs/<org_sid>/teams/<team_name>/repos/ |
| 37 | +``` |
| 38 | +#### 2. 参数说明 |
| 39 | +##### 脚本参数 |
| 40 | + |
| 41 | +| 字段 | 类型 | 描述 | |
| 42 | +|-----------|-----|--------------------------| |
| 43 | +| method | str | 调用的方法名,create_repository | |
| 44 | +| base_url | str | 基础路径 | |
| 45 | +| org_sid | str | 项目组名称 | |
| 46 | +| team_name | str | 团队唯一标识 | |
| 47 | +| scm_url | str | 代码库地址 | |
| 48 | +| scm_type | str | 填git或svn | |
| 49 | + |
| 50 | +##### 脚本内部参数 |
| 51 | +| Key | 类型 | Value | |
| 52 | +|---------------|-----|----------------------| |
| 53 | +| Authorization | str | "Token 当前user的token" | |
| 54 | + |
| 55 | +#### 3. 操作示例 |
| 56 | +```bash |
| 57 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=create_repository --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --scm_url=${TCA_SCM_URL} --scm_type=${TCA_SCM_TYPE} |
| 58 | +``` |
| 59 | + |
| 60 | + |
| 61 | +### 二、设置指定代码库的指定方案的代码度量配置 |
| 62 | +#### 1. url请求 |
| 63 | +``` |
| 64 | +PUT /server/main/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/schemes/<scheme_id>/metricconf/ |
| 65 | +``` |
| 66 | +#### 2. 参数说明 |
| 67 | +##### 脚本参数 |
| 68 | + |
| 69 | +| 字段 | 类型 | 描述 | |
| 70 | +|-----------|-----|--------------------------| |
| 71 | +| method | str | 调用的方法名,update_scheme_settings | |
| 72 | +| base_url | str | 基础路径 | |
| 73 | +| org_sid | str | 项目组名称 | |
| 74 | +| team_name | str | 团队唯一标识 | |
| 75 | +| repo_id | str | 代码库id | |
| 76 | +| scheme_id | str | 扫描方案id | |
| 77 | + |
| 78 | +##### 脚本内部参数 |
| 79 | +| Key | 类型 | Value | |
| 80 | +|---------------|-----|----------------------| |
| 81 | +| Authorization | str | "Token 当前user的token" | |
| 82 | + |
| 83 | +#### 3. 操作示例 |
| 84 | +```bash |
| 85 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=update_scheme_settings --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --scheme_id=${TCA_SCHEME_ID} |
| 86 | +``` |
| 87 | + |
| 88 | + |
| 89 | + |
| 90 | +### 三、创建分析项目 |
| 91 | +#### 1. url请求 |
| 92 | +``` |
| 93 | +POST /server/main/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/ |
| 94 | +``` |
| 95 | +#### 2. 参数说明 |
| 96 | +##### 脚本参数 |
| 97 | + |
| 98 | +| 字段 | 类型 | 描述 | |
| 99 | +|------------------|-----|---------------------------------------| |
| 100 | +| method | str | 调用的方法名,create_repository | |
| 101 | +| base_url | str | 基础路径 | |
| 102 | +| org_sid | str | 项目组名称 | |
| 103 | +| team_name | str | 团队唯一标识 | |
| 104 | +| repo_id | str | 代码库id | |
| 105 | +| scan_scheme_id | int | 和global_scheme_id二选一进行填写,当前代码库的扫描方案编号 | |
| 106 | +| global_scheme_id | int | 和scan_scheme_id二选一进行填写,扫描方案模板编号 | |
| 107 | +| branch | str | 分支 | |
| 108 | + |
| 109 | + |
| 110 | +##### 脚本内部参数 |
| 111 | +| Key | 类型 | Value | |
| 112 | +|---------------|-----|----------------------| |
| 113 | +| Authorization | str | "Token 当前user的token" | |
| 114 | + |
| 115 | +#### 3. 操作示例 |
| 116 | +```bash |
| 117 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=create_project --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --scan_scheme_id=${TCA_SCAN_SCHEME_ID} --branch=${TCA_BRANCH} |
| 118 | +``` |
| 119 | + |
| 120 | + |
| 121 | +### 四、启动任务 |
| 122 | +#### 1. url请求 |
| 123 | +``` |
| 124 | +POST /server/main/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/<project_id>/scans/create/ |
| 125 | +``` |
| 126 | +#### 2. 参数说明 |
| 127 | +##### 脚本参数 |
| 128 | + |
| 129 | +| 字段 | 类型 | 描述 | |
| 130 | +|------------|-----|--------------------------| |
| 131 | +| method | str | 调用的方法名,create_scans | |
| 132 | +| base_url | str | 基础路径 | |
| 133 | +| org_sid | str | 项目组名称 | |
| 134 | +| team_name | str | 团队唯一标识 | |
| 135 | +| repo_id | str | 代码库id | |
| 136 | +| project_id | str | 分析项目id | |
| 137 | + |
| 138 | + |
| 139 | +##### 脚本内部参数 |
| 140 | +| Key | 类型 | Value | |
| 141 | +|---------------|-----|----------------------| |
| 142 | +| Authorization | str | "Token 当前user的token" | |
| 143 | + |
| 144 | +#### 3. 操作示例 |
| 145 | +```bash |
| 146 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=create_scans --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --project_id=${TCA_PROJECT_ID} |
| 147 | +``` |
| 148 | + |
| 149 | + |
| 150 | + |
| 151 | +### 五、轮询任务结果 |
| 152 | +#### 1. url请求 |
| 153 | +``` |
| 154 | +GET /server/main/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/<project_id>/jobs/<job_id>/detail/ |
| 155 | +``` |
| 156 | +#### 2. 参数说明 |
| 157 | +##### 脚本参数 |
| 158 | + |
| 159 | +| 字段 | 类型 | 描述 | |
| 160 | +|------------|-----|--------------------------| |
| 161 | +| method | str | 调用的方法名,get_scan_cons | |
| 162 | +| base_url | str | 基础路径 | |
| 163 | +| org_sid | str | 项目组名称 | |
| 164 | +| team_name | str | 团队唯一标识 | |
| 165 | +| repo_id | str | 代码库id | |
| 166 | +| project_id | str | 分析项目id | |
| 167 | + |
| 168 | +##### 脚本内部参数 |
| 169 | +| Key | 类型 | Value | |
| 170 | +|--|------| - | |
| 171 | +| Authorization | str | "Token 当前user的token" | |
| 172 | +| sleeptime | int | 轮询间隔的时间 | |
| 173 | + |
| 174 | +#### 3. 操作示例 |
| 175 | +```bash |
| 176 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=get_scan_cons --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --project_id=${TCA_PROJECT_ID} --job_id=${TCA_JOB_ID} |
| 177 | +``` |
| 178 | + |
| 179 | + |
| 180 | +### 六、获取分析概览 |
| 181 | +#### 1. url请求 |
| 182 | +``` |
| 183 | +GET /server/analysis/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/<project_id>/overview/ |
| 184 | +``` |
| 185 | +#### 2. 参数说明 |
| 186 | +##### 脚本参数 |
| 187 | + |
| 188 | +| 字段 | 类型 | 描述 | |
| 189 | +|-------------|-----|---------------------| |
| 190 | +| method | str | 调用的方法名,get_overview | |
| 191 | +| base_url | str | 基础路径 | |
| 192 | +| org_sid | str | 项目组名称 | |
| 193 | +| team_name | str | 团队唯一标识 | |
| 194 | +| repo_id | str | 代码库id | |
| 195 | +| project_id | str | 分析项目id | |
| 196 | + |
| 197 | +##### 脚本内部参数 |
| 198 | +| Key | 类型 | Value | |
| 199 | +|--|-----| - | |
| 200 | +| Authorization | str | "Token 当前user的token" | |
| 201 | + |
| 202 | +#### 3. 操作示例 |
| 203 | +```bash |
| 204 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=get_overview --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --project_id=${TCA_PROJECT_ID} |
| 205 | +``` |
| 206 | + |
| 207 | + |
| 208 | + |
| 209 | +### 七、查看扫描问题列表 |
| 210 | +#### 1. url请求 |
| 211 | +``` |
| 212 | +GET /server/analysis/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/<project_id>/codelint/issues/ |
| 213 | +``` |
| 214 | +#### 2. 参数说明 |
| 215 | +##### 脚本参数 |
| 216 | + |
| 217 | +| 字段 | 类型 | 描述 | |
| 218 | +|------------|-----|-------------------| |
| 219 | +| method | str | 调用的方法名,get_issues | |
| 220 | +| base_url | str | 基础路径 | |
| 221 | +| org_sid | str | 项目组名称 | |
| 222 | +| team_name | str | 团队唯一标识 | |
| 223 | +| repo_id | str | 代码库id | |
| 224 | +| project_id | str | 分析项目id | |
| 225 | + |
| 226 | +##### 脚本内部参数 |
| 227 | +| Key | 类型 | Value | |
| 228 | +|--|-----| - | |
| 229 | +| Authorization | str | "Token 当前user的token" | |
| 230 | + |
| 231 | +#### 3. 操作示例 |
| 232 | +```bash |
| 233 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=get_issues --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --project_id=${TCA_PROJECT_ID} |
| 234 | +``` |
| 235 | + |
| 236 | + |
| 237 | +### 八、查看问题详情 |
| 238 | +#### 1. url请求 |
| 239 | +``` |
| 240 | +GET /server/analysis/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/<project_id>/codelint/issues/<issue_id>/ |
| 241 | +``` |
| 242 | +#### 2. 参数说明 |
| 243 | +##### 脚本参数 |
| 244 | + |
| 245 | +| 字段 | 类型 | 描述 | |
| 246 | +|------------|-----|-------------------------| |
| 247 | +| method | str | 调用的方法名,get_issue_detail | |
| 248 | +| base_url | str | 基础路径 | |
| 249 | +| org_sid | str | 项目组名称 | |
| 250 | +| team_name | str | 团队唯一标识 | |
| 251 | +| repo_id | str | 代码库id | |
| 252 | +| project_id | str | 分析项目id | |
| 253 | +| issue_id | str | 问题id | |
| 254 | + |
| 255 | +##### 脚本内部参数 |
| 256 | +| Key | 类型 | Value | |
| 257 | +|--|-----| - | |
| 258 | +| Authorization | str | "Token 当前user的token" | |
| 259 | + |
| 260 | +#### 3. 操作示例 |
| 261 | +```bash |
| 262 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=get_issue_detail --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --project_id=${TCA_PROJECT_ID} --issue_id=${TCA_ISSUE_ID} |
| 263 | +``` |
| 264 | + |
| 265 | + |
| 266 | +### 九、查看指定项目的圈复杂度问题列表 |
| 267 | +#### 1. url请求 |
| 268 | +``` |
| 269 | +GET /server/analysis/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/<project_id>/codemetric/ccissues/ |
| 270 | +``` |
| 271 | +#### 2. 参数说明 |
| 272 | +##### 脚本参数 |
| 273 | + |
| 274 | +| 字段 | 类型 | 描述 | |
| 275 | +|------------|-----|---------------------| |
| 276 | +| method | str | 调用的方法名,get_ccissues | |
| 277 | +| base_url | str | 基础路径 | |
| 278 | +| org_sid | str | 项目组名称 | |
| 279 | +| team_name | str | 团队唯一标识 | |
| 280 | +| repo_id | str | 代码库id | |
| 281 | +| project_id | str | 分析项目id | |
| 282 | + |
| 283 | +##### 脚本内部参数 |
| 284 | +| Key | 类型 | Value | |
| 285 | +|--|-----| - | |
| 286 | +| Authorization | str | "Token 当前user的token" | |
| 287 | + |
| 288 | +#### 3. 操作示例 |
| 289 | +```bash |
| 290 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=get_ccissues --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --project_id=${TCA_PROJECT_ID} |
| 291 | +``` |
| 292 | + |
| 293 | + |
| 294 | + |
| 295 | +### 十、查看指定项目的重复文件列表 |
| 296 | +#### 1. url请求 |
| 297 | +``` |
| 298 | +GET /server/analysis/api/orgs/<org_sid>/teams/<team_name>/repos/<repo_id>/projects/<project_id>/codemetric/dupfiles/ |
| 299 | +``` |
| 300 | +#### 2. 参数说明 |
| 301 | +##### 脚本参数 |
| 302 | + |
| 303 | +| 字段 | 类型 | 描述 | |
| 304 | +|------------|-----|----------------------| |
| 305 | +| method | str | 调用的方法名,get_dupfiles | |
| 306 | +| base_url | str | 基础路径 | |
| 307 | +| org_sid | str | 项目组名称 | |
| 308 | +| team_name | str | 团队唯一标识 | |
| 309 | +| repo_id | str | 代码库id | |
| 310 | +| project_id | str | 分析项目id | |
| 311 | + |
| 312 | +##### 脚本内部参数 |
| 313 | +| Key | 类型 | Value | |
| 314 | +|--|-----| - | |
| 315 | +| Authorization | str | "Token 当前user的token" | |
| 316 | + |
| 317 | +#### 3. 操作示例 |
| 318 | +```bash |
| 319 | +python ScriptsAPI.py --base_url=${TCA_BASE_URL} --method=get_dupfiles --org_sid=${TCA_ORG_SID} --team_name=${TCA_TEAM_NAME} --repo_id=${TCA_REPO_ID} --project_id=${TCA_PROJECT_ID} |
| 320 | +``` |
| 321 | + |
| 322 | + |
| 323 | + |
| 324 | + |
0 commit comments