Skip to content

Commit d93097b

Browse files
authored
Merge pull request #1128 from yyyangw/doc/ScriptsAPI
增加“API调用操作指引文档”
2 parents 693eeef + 5cf918a commit d93097b

File tree

1 file changed

+324
-0
lines changed

1 file changed

+324
-0
lines changed
Lines changed: 324 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,324 @@
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

Comments
 (0)