From e60567fd75941ec19dff1fcce0ab1f8c4d9e00c4 Mon Sep 17 00:00:00 2001 From: Lingghh Date: Tue, 30 Jul 2024 14:26:23 +0800 Subject: [PATCH] =?UTF-8?q?:art:=E8=B0=83=E6=95=B4codedog.ini=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/projects/main/apps/codeproj/apis/v3.py | 1 - server/projects/main/util/puppy/codedog.ini | 12 +++++++----- server/projects/scmproxy/clients/gitlab/client.py | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/server/projects/main/apps/codeproj/apis/v3.py b/server/projects/main/apps/codeproj/apis/v3.py index c34ec70df..a24854705 100644 --- a/server/projects/main/apps/codeproj/apis/v3.py +++ b/server/projects/main/apps/codeproj/apis/v3.py @@ -966,7 +966,6 @@ def post(self, request, **kwargs): config_dict.update({ 'org_sid': project.repo.organization.org_sid, 'team_name': project.repo.project_team.name, - 'codedog_env': slz.validated_data.get("codedog_env") or settings.MAIN_SERVER_URL, 'token': token.key, 'source_dir': slz.validated_data["source_dir"], 'branch': project.branch, diff --git a/server/projects/main/util/puppy/codedog.ini b/server/projects/main/util/puppy/codedog.ini index e3b771da1..05410fb8f 100644 --- a/server/projects/main/util/puppy/codedog.ini +++ b/server/projects/main/util/puppy/codedog.ini @@ -7,13 +7,14 @@ ; org_sid - 必填,团队编号 ; team_name - 必填,项目名称 ; source_dir - 必填,要扫描的代码目录路径 -; languages - 可选(如果未事先在CodeDog上创建扫描方案,则必填),代码用到的语言,多个语言用英文逗号(,)分隔. 语言从以下类型选择: +; languages - 可选(如果未事先在TCA上创建扫描方案,则必填),代码用到的语言,多个语言用英文逗号(,)分隔. 语言从以下类型选择: ; ABAP,Apex,C#,C/C++,COBOL,Css,Dart,Flex,Go,Html,Java,JavaScript,Kotlin,Lua,Objective-C,PHP,PL/I,PL/SQL,Python,RPG,Ruby,Scala,Shell,Swift,T-SQL,TypeScript,VisualBasic,XML ; scan_plan - 可选,指定扫描方案名称,如果当前代码库已存在该名称的方案,直接使用;否则会新建该名称的方案 ; branch - 可选,指定当前扫描的分支名称 ; total_scan - 可选,标记是否全量扫描,默认为增量扫描,如果需要指定全量扫描,设置值为True或true ; pre_cmd - 可选,前置命令,需要执行额外的扫描前置工作时填写 ; build_cmd - 可选,编译命令,选择了编译型工具规则时需要填写 +; scan_path - 可选,填写子目录的相对路径,指定某个子目录作为当前项目的扫描目录,适用于大仓场景,只针对某个业务目录进行扫描。默认扫描整个代码仓库。 ; --------------------------------------------------------------------------- ; [过滤参数] ; @@ -24,12 +25,12 @@ ; 要屏蔽根目录下的 lib/ 目录下的所有文件:lib/*,选择exclude ; 要屏蔽不在根目录下的某个 xxx/lib/下的所有.cpp文件: */lib/*.cpp,选择exclude ; 只扫描根目录下的 src 文件夹下的代码: src/*,选择include +; compare_branch - 可选,MR场景必填,过滤掉从对比分支引入的历史代码问题(一般设置为MR目标分支) ; --------------------------------------------------------------------------- ; [其他参数] ; -; codedog_env - 可选,CodeDog服务器url地址,不填可以使用默认服务 ; ref_scheme_id - 可选,分析方案模板ID,新建项目时复制模板分析方案,达到多个代码仓库使用相同配置的效果 -; report_file - 可选,指定输出扫描结果简报的文件路径(json格式),默认输出在codedog目录下scan_status.json文件 +; report_file - 可选,指定输出扫描结果简报的文件路径(json格式),默认输出在TCA目录下scan_status.json文件 ; ssh_file - 可选,ssh代码库鉴权方式,请填写ssh私钥文件绝对路径 ; --------------------------------------------------------------------------- @@ -42,11 +43,12 @@ languages : scan_plan : branch : total_scan : +scan_path : exclude : include : +compare_branch : pre_cmd : build_cmd : -codedog_env : ref_scheme_id : ssh_file : -report_file : +report_file : \ No newline at end of file diff --git a/server/projects/scmproxy/clients/gitlab/client.py b/server/projects/scmproxy/clients/gitlab/client.py index 35f09597a..63b62146a 100644 --- a/server/projects/scmproxy/clients/gitlab/client.py +++ b/server/projects/scmproxy/clients/gitlab/client.py @@ -137,7 +137,7 @@ def latest_revision(self): return : str - 版本号 """ r = self.get(GITLAB_APIS["get_revision"].format( - project_id=self._enquote_project_path, branch_name=self._branch)) + project_id=self._enquote_project_path, branch_name=quote(self._branch, safe=""))) data = self.get_json(r) return data["commit"]["id"]