From 7fb684f0dd5c281d11d30e9b903dd3ed4d5fc0ff Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Wed, 4 Dec 2024 16:49:01 +0800 Subject: [PATCH 01/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/tencent/devops/repository/dao/CommitDao.kt | 13 +++++++++++++ .../devops/repository/service/CommitService.kt | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt index 99084a3f2e46..4512e5e7b293 100644 --- a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt +++ b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt @@ -131,4 +131,17 @@ class CommitDao { .fetch() } } + + fun list( + dslContext: DSLContext, + buildId: String, + pipelineId: String, + elementId: String + ): Result { + with(TRepositoryCommit.T_REPOSITORY_COMMIT) { + return dslContext.selectFrom(this) + .where(PIPELINE_ID.eq(pipelineId).and(ELEMENT_ID.eq(elementId)).and(BUILD_ID.eq(buildId))) + .fetch() + } + } } diff --git a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/CommitService.kt b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/CommitService.kt index cafebede9da4..2e6f19407d77 100644 --- a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/CommitService.kt +++ b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/CommitService.kt @@ -150,4 +150,10 @@ class CommitService @Autowired constructor( ) } } + + fun list( + buildId: String, + pipelineId: String, + elementId: String + ) = commitDao.list(dslContext, buildId, pipelineId, elementId) } From 3084f5305c8fc70dc4b0d9fb488591e3522efca4 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 5 Dec 2024 14:25:09 +0800 Subject: [PATCH 02/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt index 4512e5e7b293..8ad52de047ff 100644 --- a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt +++ b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/dao/CommitDao.kt @@ -141,6 +141,7 @@ class CommitDao { with(TRepositoryCommit.T_REPOSITORY_COMMIT) { return dslContext.selectFrom(this) .where(PIPELINE_ID.eq(pipelineId).and(ELEMENT_ID.eq(elementId)).and(BUILD_ID.eq(buildId))) + .orderBy(COMMIT_TIME.desc()) .fetch() } } From af33a4f8cca85daf6a726a3ef519991c3d5a637a Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Tue, 10 Dec 2024 16:12:49 +0800 Subject: [PATCH 03/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tencent/devops/repository/constant/RepositoryMessageCode.kt | 2 ++ support-files/i18n/repository/message_en_US.properties | 2 ++ support-files/i18n/repository/message_zh_CN.properties | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt b/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt index a0f561300a15..5f0e2f717114 100644 --- a/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt +++ b/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt @@ -94,6 +94,8 @@ object RepositoryMessageCode { const val ERROR_USER_HAVE_NOT_DOWNLOAD_PEM = "2115043" // 用户({0})无({1})项目下载权限 const val NOT_GITHUB_AUTHORIZED_BY_OAUTH = "2115044" // 用户[{0}]尚未进行GITHUB OAUTH授权,请先授权。 const val REPOSITORY_NO_SUPPORT_OAUTH = "2115045" // ({0})类型代码库暂不支持OAUTH授权 + const val EMPTY_COMMIT_RECORD = "2115050" // 无代码变更记录 + const val REPOSITORY_NO_SUPPORT_AI_SUMMARY = "2115051" // 仅支持工蜂代码库生成AI摘要, const val USER_NOT_PERMISSIONS_OPERATE_REPOSITORY = "2115046" // 用户({0})无权限在工程({1})下{2}流水线{3} diff --git a/support-files/i18n/repository/message_en_US.properties b/support-files/i18n/repository/message_en_US.properties index a6ebabe38e30..9eb370466272 100644 --- a/support-files/i18n/repository/message_en_US.properties +++ b/support-files/i18n/repository/message_en_US.properties @@ -47,6 +47,8 @@ 2115044=User [{0}] has not authorized Github Oauth yet. Please authorize first 2115045=({0}) type of code repository does not currently support OAUTH authorization 2100054=User ({0}) does not have permission to {2} repository {3} under project ({1}). +2115050=No code change record +2115051=The current repository does not support generating AI summarie bkRequestFileSizeLimit=The request file cannot exceed 1m OperationAddCheckRuns=Add a detection task OperationUpdateCheckRuns=Update the detection task diff --git a/support-files/i18n/repository/message_zh_CN.properties b/support-files/i18n/repository/message_zh_CN.properties index 7b08079fde94..5da21e14779a 100644 --- a/support-files/i18n/repository/message_zh_CN.properties +++ b/support-files/i18n/repository/message_zh_CN.properties @@ -46,6 +46,8 @@ 2115044=用户[{0}]尚未进行GITHUB OAUTH授权,请先授权 2115045=({0})类型代码库暂不支持OAUTH授权 2115046=用户({0})无权限在工程({1})下{2}代码库{3} +2115050=无代码变更记录 +2115051=仅支持工蜂代码库生成AI摘要 bkRequestFileSizeLimit=请求文件不能超过1M OperationAddCheckRuns=添加检测任务 OperationUpdateCheckRuns=更新检测任务 From 553db99f47409ba3a01d3608c5d70bd8ad15bf93 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Tue, 10 Dec 2024 16:14:31 +0800 Subject: [PATCH 04/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devops/repository/constant/RepositoryMessageCode.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt b/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt index 9f8fdfda8fcd..f687977b27a7 100644 --- a/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt +++ b/src/backend/ci/core/repository/api-repository/src/main/kotlin/com/tencent/devops/repository/constant/RepositoryMessageCode.kt @@ -94,11 +94,11 @@ object RepositoryMessageCode { const val ERROR_USER_HAVE_NOT_DOWNLOAD_PEM = "2115043" // 用户({0})无({1})项目下载权限 const val NOT_GITHUB_AUTHORIZED_BY_OAUTH = "2115044" // 用户[{0}]尚未进行GITHUB OAUTH授权,请先授权。 const val REPOSITORY_NO_SUPPORT_OAUTH = "2115045" // ({0})类型代码库暂不支持OAUTH授权 - const val EMPTY_COMMIT_RECORD = "2115050" // 无代码变更记录 - const val REPOSITORY_NO_SUPPORT_AI_SUMMARY = "2115051" // 仅支持工蜂代码库生成AI摘要, const val USER_NOT_PERMISSIONS_OPERATE_REPOSITORY = "2115046" // 用户({0})无权限在工程({1})下{2}流水线{3} const val FAIL_TO_GET_OPEN_COPILOT_TOKEN = "2115048" // 获取open copilot token 失败, 失败详情: {0} + const val EMPTY_COMMIT_RECORD = "2115050" // 无代码变更记录 + const val REPOSITORY_NO_SUPPORT_AI_SUMMARY = "2115051" // 仅支持工蜂代码库生成AI摘要, const val BK_REQUEST_FILE_SIZE_LIMIT = "bkRequestFileSizeLimit" // 请求文件不能超过1M const val OPERATION_ADD_CHECK_RUNS = "OperationAddCheckRuns" // 添加检测任务 From 62d6648ff65aed5a66b37745b46d694670e54d98 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Tue, 10 Dec 2024 17:50:09 +0800 Subject: [PATCH 05/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tencent/devops/common/api/constant/CommonMessageCode.kt | 2 +- .../main/kotlin/com/tencent/devops/scm/code/CodeGitScmImpl.kt | 4 ++-- .../kotlin/com/tencent/devops/scm/code/CodeGitlabScmImpl.kt | 2 +- .../kotlin/com/tencent/devops/scm/code/CodeTGitScmImpl.kt | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/ci/core/common/common-api/src/main/kotlin/com/tencent/devops/common/api/constant/CommonMessageCode.kt b/src/backend/ci/core/common/common-api/src/main/kotlin/com/tencent/devops/common/api/constant/CommonMessageCode.kt index 84dd2c988653..5d1ee50322c2 100644 --- a/src/backend/ci/core/common/common-api/src/main/kotlin/com/tencent/devops/common/api/constant/CommonMessageCode.kt +++ b/src/backend/ci/core/common/common-api/src/main/kotlin/com/tencent/devops/common/api/constant/CommonMessageCode.kt @@ -180,7 +180,7 @@ object CommonMessageCode { const val DISPATCH_NOT_SUPPORT_TRANSFER = "2100129" // 如下构建环境在 Code 方式下不支持转换,请修改后再切换: \n[{0}] const val YAML_NOT_VALID = "2100130" // yaml不合法 {0} const val GIT_INVALID_PRIVATE_KEY = "2100131" // 不支持的SSH私钥格式,仅支持rsa格式私钥 - const val GIT_INVALID_PRIVATE_KEY_OR_PASSWORD = "2100132" // 第三方服务[{0}]操作失败,失败详情:{1} + const val THIRD_PARTY_SERVICE_OPERATION_FAILED = "2100132" // 第三方服务[{0}]操作失败,失败详情:{1} const val MR_ACCEPT_EVENT_NOT_SUPPORT_TRANSFER = "2100133" // mr accept事件类型不支持code转换 const val SVN_TOKEN_FAIL = "2100135" // SVN Token 不正确 diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitScmImpl.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitScmImpl.kt index 3ae307122ed3..a9b271669db8 100644 --- a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitScmImpl.kt +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitScmImpl.kt @@ -120,7 +120,7 @@ class CodeGitScmImpl constructor( logger.warn("Fail to list all branches", ignored) throw ScmException( I18nUtil.getCodeLanMessage( - CommonMessageCode.GIT_INVALID_PRIVATE_KEY_OR_PASSWORD, + CommonMessageCode.THIRD_PARTY_SERVICE_OPERATION_FAILED, params = arrayOf(ScmType.CODE_GIT.name, ignored.message ?: "") ), ScmType.CODE_GIT.name @@ -161,7 +161,7 @@ class CodeGitScmImpl constructor( logger.warn("Fail to list all branches", ignored) throw ScmException( I18nUtil.getCodeLanMessage( - CommonMessageCode.GIT_INVALID_PRIVATE_KEY_OR_PASSWORD, + CommonMessageCode.THIRD_PARTY_SERVICE_OPERATION_FAILED, params = arrayOf(ScmType.CODE_GIT.name, ignored.message ?: "") ), ScmType.CODE_GIT.name diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitlabScmImpl.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitlabScmImpl.kt index 7f5d49dc7d0e..ce4d29955958 100644 --- a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitlabScmImpl.kt +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeGitlabScmImpl.kt @@ -100,7 +100,7 @@ class CodeGitlabScmImpl constructor( logger.warn("Fail to check the gitlab token", ignored) throw ScmException( I18nUtil.getCodeLanMessage( - CommonMessageCode.GIT_INVALID_PRIVATE_KEY_OR_PASSWORD, + CommonMessageCode.THIRD_PARTY_SERVICE_OPERATION_FAILED, params = arrayOf(ScmType.CODE_GITLAB.name, ignored.message ?: "") ), ScmType.CODE_GITLAB.name diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeTGitScmImpl.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeTGitScmImpl.kt index 123e7fd659f8..1b633b59617a 100644 --- a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeTGitScmImpl.kt +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/code/CodeTGitScmImpl.kt @@ -112,7 +112,7 @@ class CodeTGitScmImpl constructor( logger.warn("Fail to list all branches", ignored) throw ScmException( I18nUtil.getCodeLanMessage( - CommonMessageCode.GIT_INVALID_PRIVATE_KEY_OR_PASSWORD, + CommonMessageCode.THIRD_PARTY_SERVICE_OPERATION_FAILED, params = arrayOf(ScmType.CODE_TGIT.name, ignored.message ?: "") ), ScmType.CODE_TGIT.name @@ -153,7 +153,7 @@ class CodeTGitScmImpl constructor( logger.warn("Fail to list all branches", ignored) throw ScmException( I18nUtil.getCodeLanMessage( - CommonMessageCode.GIT_INVALID_PRIVATE_KEY_OR_PASSWORD, + CommonMessageCode.THIRD_PARTY_SERVICE_OPERATION_FAILED, params = arrayOf(ScmType.CODE_TGIT.name, ignored.message ?: "") ), ScmType.CODE_TGIT.name From b47ebc0a5620bcefc6e76ea7d2d00d006efe2eec Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 12 Dec 2024 10:37:13 +0800 Subject: [PATCH 06/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tencent/devops/repository/service/RepositoryService.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/RepositoryService.kt b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/RepositoryService.kt index a273036b64f2..b5d33b11bea3 100644 --- a/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/RepositoryService.kt +++ b/src/backend/ci/core/repository/biz-repository/src/main/kotlin/com/tencent/devops/repository/service/RepositoryService.kt @@ -1419,13 +1419,13 @@ class RepositoryService @Autowired constructor( } fun getRepository(projectId: String, repositoryHashId: String?, repoAliasName: String?): Repository { - if (repoAliasName.isNullOrBlank() && repoAliasName.isNullOrBlank()) { + if (repositoryHashId.isNullOrBlank() && repoAliasName.isNullOrBlank()) { throw IllegalArgumentException("repositoryHashId or repoAliasName can not be null") } return compose( getRepository( projectId = projectId, - repositoryConfig = if (repositoryHashId.isNullOrBlank()) { + repositoryConfig = if (!repositoryHashId.isNullOrBlank()) { RepositoryConfig( repositoryHashId = repositoryHashId, repositoryName = null, From 0320a6f9f1934cd16996eadab5b4ef812f486f72 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 13 Dec 2024 14:43:33 +0800 Subject: [PATCH 07/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/kotlin/com/tencent/devops/scm/config/GitConfig.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt index 857557268726..25f2d102afd7 100644 --- a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt @@ -131,4 +131,10 @@ class GitConfig { @Value("\${scm.external.tGit.hookSecret:}") val tGitHookSecret: String = "" + + @Value("\${scm.git.copilot.url:}") + val copilotUrl: String = "" + + @Value("\${scm.git.copilot.supportHost:}") + val supportHost: String = "" } From 028363620d28fd8ca0676b502422192caa7a11b6 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 13 Dec 2024 14:51:04 +0800 Subject: [PATCH 08/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt index 25f2d102afd7..867a401e0dd9 100644 --- a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt @@ -136,5 +136,5 @@ class GitConfig { val copilotUrl: String = "" @Value("\${scm.git.copilot.supportHost:}") - val supportHost: String = "" + val supportHost: List = listOf() } From 44856371e8b02e234b170808b47f6ed73a864567 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 13 Dec 2024 14:59:39 +0800 Subject: [PATCH 09/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devops/scm/enums/AISummaryRateType.kt | 35 +++++++++++++++++++ .../devops/scm/pojo/CodeGitCopilotSummary.kt | 26 ++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/enums/AISummaryRateType.kt create mode 100644 src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/pojo/CodeGitCopilotSummary.kt diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/enums/AISummaryRateType.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/enums/AISummaryRateType.kt new file mode 100644 index 000000000000..f9856160416c --- /dev/null +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/enums/AISummaryRateType.kt @@ -0,0 +1,35 @@ +/* + * Tencent is pleased to support the open source community by making BK-CI 蓝鲸持续集成平台 available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * BK-CI 蓝鲸持续集成平台 is licensed under the MIT license. + * + * A copy of the MIT License is included in this file. + * + * + * Terms of the MIT License: + * --------------------------------------------------- + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT + * LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.tencent.devops.scm.enums + +/** + * 针对[AI 摘要]的评论类型 + */ +enum class AISummaryRateType constructor(val value: String) { + UP("up"), + DOWN("down") +} \ No newline at end of file diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/pojo/CodeGitCopilotSummary.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/pojo/CodeGitCopilotSummary.kt new file mode 100644 index 000000000000..49f5bbe689f8 --- /dev/null +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/pojo/CodeGitCopilotSummary.kt @@ -0,0 +1,26 @@ +package com.tencent.devops.scm.pojo + +import io.swagger.v3.oas.annotations.media.Schema + +/** + * 工蜂Copilot摘要返回值 + */ +@Schema(title = "工蜂Copilot摘要返回值") +data class CodeGitCopilotSummary( + @get:Schema(title = "id") + val number: Int? = null, + @get:Schema(title = "任务id, 后续好评差评使用的是这个 id") + val processId: String? = null, + @get:Schema(title = "状态 1:运行中 3:失败 5:已生成") + val status: Int, + @get:Schema(title = "大模型回答原始文本") + val resultRaw: String? = null, + @get:Schema(title = "markdown 渲染后的回答文本") + val resultHtml: String? = null, + @get:Schema(title = "随机值") + val lastPatchSetId: String? = null, + @get:Schema(title = "创建时间") + val createdAt: Long? = null, + @get:Schema(title = "仓库名称") + var projectName: String? = null +) From 8ff9ada09f6ce0d73987b51224842daeb0fe9f12 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Tue, 24 Dec 2024 11:14:01 +0800 Subject: [PATCH 10/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt index 867a401e0dd9..51a5c87d83e9 100644 --- a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt @@ -134,7 +134,4 @@ class GitConfig { @Value("\${scm.git.copilot.url:}") val copilotUrl: String = "" - - @Value("\${scm.git.copilot.supportHost:}") - val supportHost: List = listOf() } From da8427645e968823a0be1595fd2e86b06a8fb121 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 26 Dec 2024 14:22:29 +0800 Subject: [PATCH 11/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228=20=E8=A1=A5=E5=85=85SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- support-files/sql/1001_ci_repository_ddl_mysql.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/support-files/sql/1001_ci_repository_ddl_mysql.sql b/support-files/sql/1001_ci_repository_ddl_mysql.sql index 3d994cb272ac..775b86d5c256 100644 --- a/support-files/sql/1001_ci_repository_ddl_mysql.sql +++ b/support-files/sql/1001_ci_repository_ddl_mysql.sql @@ -263,4 +263,18 @@ CREATE TABLE IF NOT EXISTS `T_REPOSITORY_SCM_TOKEN` ( UNIQUE KEY `UNIQ_USER_SCM_CODE_APP_TYPE` (`USER_ID`,`SCM_CODE`,`APP_TYPE`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='代码仓库token表'; +CREATE TABLE `T_REPOSITORY_COPILOT_SUMMARY` ( + `PROJECT_ID` varchar(64) NOT NULL COMMENT '蓝盾项目ID', + `BUILD_ID` varchar(64) NOT NULL COMMENT '构建ID', + `ELEMENT_ID` varchar(64) NOT NULL COMMENT '插件ID', + `SCM_CODE` varchar(32) DEFAULT NULL COMMENT '代码库类型', + `PROJECT_NAME` varchar(255) DEFAULT NULL COMMENT '仓库唯一标识', + `SOURCE_COMMIT` varchar(64) DEFAULT NULL COMMENT '源提交点', + `TARGET_COMMIT` varchar(64) DEFAULT NULL COMMENT '目标提交点', + `STATUS` int(11) DEFAULT NULL COMMENT '生成状态,1-生成中,3-生成失败, 5-生成成功', + `SUMMARY` text COMMENT 'AI 摘要', + `CREATE_TIME` timestamp NULL DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`PROJECT_ID`,`BUILD_ID`,`ELEMENT_ID`) +) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='代码库copilot摘要表'; + SET FOREIGN_KEY_CHECKS = 1; From 596b279bea0922709ee4f3901f5c8f08e005f611 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 2 Jan 2025 15:05:02 +0800 Subject: [PATCH 12/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228=20=E8=A1=A5=E5=85=85SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- support-files/sql/1001_ci_repository_ddl_mysql.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support-files/sql/1001_ci_repository_ddl_mysql.sql b/support-files/sql/1001_ci_repository_ddl_mysql.sql index 934ef4987e04..7768625f4354 100644 --- a/support-files/sql/1001_ci_repository_ddl_mysql.sql +++ b/support-files/sql/1001_ci_repository_ddl_mysql.sql @@ -271,7 +271,7 @@ CREATE TABLE `T_REPOSITORY_COPILOT_SUMMARY` ( `PROJECT_ID` varchar(64) NOT NULL COMMENT '蓝盾项目ID', `BUILD_ID` varchar(64) NOT NULL COMMENT '构建ID', `ELEMENT_ID` varchar(64) NOT NULL COMMENT '插件ID', - `SCM_CODE` varchar(32) DEFAULT NULL COMMENT '代码库类型', + `SCM_TYPE` varchar(32) DEFAULT NULL COMMENT '代码库类型', `PROJECT_NAME` varchar(255) DEFAULT NULL COMMENT '仓库唯一标识', `SOURCE_COMMIT` varchar(64) DEFAULT NULL COMMENT '源提交点', `TARGET_COMMIT` varchar(64) DEFAULT NULL COMMENT '目标提交点', From f51190682621495a01f2025fe86ea97619b4e230 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 2 Jan 2025 15:57:03 +0800 Subject: [PATCH 13/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt index 51a5c87d83e9..14beaffb386d 100644 --- a/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt +++ b/src/backend/ci/core/common/common-scm/src/main/kotlin/com/tencent/devops/scm/config/GitConfig.kt @@ -132,6 +132,6 @@ class GitConfig { @Value("\${scm.external.tGit.hookSecret:}") val tGitHookSecret: String = "" - @Value("\${scm.git.copilot.url:}") + @Value("\${scm.git.copilot.crApiUrl:}") val copilotUrl: String = "" } From 4c1d5e721d88df9e97c7a1a9984ece3a37861fcd Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 2 Jan 2025 16:06:09 +0800 Subject: [PATCH 14/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- support-files/i18n/repository/message_zh_CN.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support-files/i18n/repository/message_zh_CN.properties b/support-files/i18n/repository/message_zh_CN.properties index f0765fde2e8d..29179c7547f7 100644 --- a/support-files/i18n/repository/message_zh_CN.properties +++ b/support-files/i18n/repository/message_zh_CN.properties @@ -47,8 +47,8 @@ 2115045=({0})类型代码库暂不支持OAUTH授权 2115046=用户({0})无权限在工程({1})下{2}代码库{3} 2115048=获取open copilot token 失败, 失败详情: {0} -2115050=无代码变更记录 2115049=OAUTH授权信息被占用, 无法删除 +2115050=无代码变更记录 2115051=仅支持工蜂代码库生成AI摘要 bkRequestFileSizeLimit=请求文件不能超过1M OperationAddCheckRuns=添加检测任务 From 2b4c054e2da14b95160eaffe7d353b4bd9d26558 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Tue, 11 Feb 2025 15:58:45 +0800 Subject: [PATCH 15/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- support-files/sql/1001_ci_repository_ddl_mysql.sql | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/support-files/sql/1001_ci_repository_ddl_mysql.sql b/support-files/sql/1001_ci_repository_ddl_mysql.sql index 7768625f4354..62bf78c02cb6 100644 --- a/support-files/sql/1001_ci_repository_ddl_mysql.sql +++ b/support-files/sql/1001_ci_repository_ddl_mysql.sql @@ -268,6 +268,7 @@ CREATE TABLE IF NOT EXISTS `T_REPOSITORY_SCM_TOKEN` ( ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='代码仓库token表'; CREATE TABLE `T_REPOSITORY_COPILOT_SUMMARY` ( + `ID` bigint(20) NOT NULL AUTO_INCREMENT, `PROJECT_ID` varchar(64) NOT NULL COMMENT '蓝盾项目ID', `BUILD_ID` varchar(64) NOT NULL COMMENT '构建ID', `ELEMENT_ID` varchar(64) NOT NULL COMMENT '插件ID', @@ -277,8 +278,9 @@ CREATE TABLE `T_REPOSITORY_COPILOT_SUMMARY` ( `TARGET_COMMIT` varchar(64) DEFAULT NULL COMMENT '目标提交点', `STATUS` int(11) DEFAULT NULL COMMENT '生成状态,1-生成中,3-生成失败, 5-生成成功', `SUMMARY` text COMMENT 'AI 摘要', - `CREATE_TIME` timestamp NULL DEFAULT NULL COMMENT '创建时间', - PRIMARY KEY (`PROJECT_ID`,`BUILD_ID`,`ELEMENT_ID`) + `CREATE_TIME` timestamp NOT NULL COMMENT '创建时间', + PRIMARY KEY (ID, CREATE_TIME), + INDEX `IDX_PROJECT_BUILD_ELEMENT`(`PROJECT_ID`, `BUILD_ID`, `ELEMENT_ID`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='代码库copilot摘要表'; SET FOREIGN_KEY_CHECKS = 1; From 94a997054602a411732b4b148c6406e09c2941a9 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Mon, 17 Feb 2025 15:39:33 +0800 Subject: [PATCH 16/16] =?UTF-8?q?feat=EF=BC=9A=E6=B5=81=E6=B0=B4=E7=BA=BF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=EF=BC=8C?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20AI=20=E7=94=9F=E6=88=90=E6=91=98=E8=A6=81?= =?UTF-8?q?=20#11228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- support-files/sql/1001_ci_repository_ddl_mysql.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support-files/sql/1001_ci_repository_ddl_mysql.sql b/support-files/sql/1001_ci_repository_ddl_mysql.sql index 62bf78c02cb6..9b364acf9671 100644 --- a/support-files/sql/1001_ci_repository_ddl_mysql.sql +++ b/support-files/sql/1001_ci_repository_ddl_mysql.sql @@ -267,7 +267,7 @@ CREATE TABLE IF NOT EXISTS `T_REPOSITORY_SCM_TOKEN` ( UNIQUE KEY `UNIQ_USER_SCM_CODE_APP_TYPE` (`USER_ID`,`SCM_CODE`,`APP_TYPE`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='代码仓库token表'; -CREATE TABLE `T_REPOSITORY_COPILOT_SUMMARY` ( +CREATE TABLE IF NOT EXISTS `T_REPOSITORY_COPILOT_SUMMARY` ( `ID` bigint(20) NOT NULL AUTO_INCREMENT, `PROJECT_ID` varchar(64) NOT NULL COMMENT '蓝盾项目ID', `BUILD_ID` varchar(64) NOT NULL COMMENT '构建ID',