| 28 | |
| 29 | |
| 30 | class ScriptsAPI(): |
| 31 | def __init__(self, my_token, sleep_time): |
| 32 | self.my_token = my_token |
| 33 | self.sleep_time = sleep_time |
| 34 | |
| 35 | def add_arguments(self, parser): |
| 36 | parser.add_argument('--method', type=str, help='Set method') |
| 37 | parser.add_argument('--base_url', type=str, help='Set base_url') |
| 38 | parser.add_argument('--org_sid', type=str, help='Set org_sid') |
| 39 | parser.add_argument('--team_name', type=str, help='Set team_name') |
| 40 | |
| 41 | # 选填路径参数 |
| 42 | parser.add_argument('--repo_id', type=str, help='Set repo_id', default=None) |
| 43 | parser.add_argument('--scheme_id', type=str, help='Set scheme_id', default=None) |
| 44 | parser.add_argument('--project_id', type=str, help='Set project_id', default=None) |
| 45 | parser.add_argument('--issue_id', type=str, help='Set issue_id', default=None) |
| 46 | parser.add_argument('--job_id', type=str, help='Set job_id', default=None) |
| 47 | |
| 48 | # 创建代码库相关参数 |
| 49 | parser.add_argument('--scm_url', type=str, help='Set scm_url', default=None) |
| 50 | parser.add_argument('--scm_type', type=str, help='Set scm_type', default=None) |
| 51 | |
| 52 | # 创建分析项目相关参数 |
| 53 | parser.add_argument('--scan_scheme_id', type=int, help='Set scan_scheme_id', default=None) |
| 54 | parser.add_argument('--global_scheme_id', type=int, help='Set global_scheme_id', default=None) |
| 55 | parser.add_argument('--branch', type=str, help='Set branch', default=None) |
| 56 | |
| 57 | def handle(self, options): |
| 58 | if options['method'] is None: |
| 59 | logger.error("method 不能为空!") |
| 60 | return |
| 61 | if options['base_url'] is None: |
| 62 | logger.error("base_url 不能为空!") |
| 63 | return |
| 64 | if options['org_sid'] is None: |
| 65 | logger.error("org_sid 不能为空!") |
| 66 | return |
| 67 | if options['team_name'] is None: |
| 68 | logger.error("team_name 不能为空!") |
| 69 | return |
| 70 | method = options['method'] |
| 71 | base_url = options['base_url'] |
| 72 | org_sid = options['org_sid'] |
| 73 | team_name = options['team_name'] |
| 74 | |
| 75 | if method == 'create_repository': |
| 76 | # 1、创建代码库 |
| 77 | self.create_repository_preproccess(base_url, org_sid, team_name, options) |
| 78 | elif method == 'update_scheme_settings': |
| 79 | # 2、设置指定代码库的指定方案的代码度量配置 |
| 80 | self.update_scheme_settings_preproccess(base_url, org_sid, team_name, options) |
| 81 | elif method == 'create_project': |
| 82 | # 3、创建分析项目 |
| 83 | self.create_project_preproccess(base_url, org_sid, team_name, options) |
| 84 | elif method == 'create_scans': |
| 85 | # 4、启动任务 |
| 86 | self.create_scans_preproccess(base_url, org_sid, team_name, options) |
| 87 | elif method == 'get_scan_cons': |