From 9c501b1484a0ff253e497ece3f57abb88f9732c2 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Thu, 19 Sep 2024 17:59:58 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E8=A7=A6=E5=8F=91=E5=99=A8?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=BC=95=E5=85=A5${{variables.xxx}}=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E8=A7=A6=E5=8F=91=E4=B8=8D=E4=BA=86=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF=20#10987?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/service/webhook/PipelineBuildWebhookService.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/webhook/PipelineBuildWebhookService.kt b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/webhook/PipelineBuildWebhookService.kt index 318cdb56bc6..ab5b2d0cd92 100644 --- a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/webhook/PipelineBuildWebhookService.kt +++ b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/webhook/PipelineBuildWebhookService.kt @@ -243,7 +243,7 @@ class PipelineBuildWebhookService @Autowired constructor( return@elements } val webHookParams = WebhookElementParamsRegistrar.getService(element) - .getWebhookElementParams(element, variables) ?: return@elements + .getWebhookElementParams(element, PipelineVarUtil.fillVariableMap(variables)) ?: return@elements val repositoryConfig = webHookParams.repositoryConfig if (repositoryConfig.getRepositoryId().isBlank()) { logger.info("repositoryHashId is blank for code trigger pipeline $pipelineId ") @@ -419,7 +419,7 @@ class PipelineBuildWebhookService @Autowired constructor( taskIds.forEach { taskId -> val triggerElement = triggerElementMap[taskId] ?: return@forEach val webHookParams = WebhookElementParamsRegistrar.getService(triggerElement) - .getWebhookElementParams(triggerElement, variables) ?: return@forEach + .getWebhookElementParams(triggerElement, PipelineVarUtil.fillVariableMap(variables)) ?: return@forEach val repositoryConfig = webHookParams.repositoryConfig if (repositoryConfig.repositoryHashId.isNullOrBlank() && repositoryConfig.repositoryName.isNullOrBlank()) { logger.info("repositoryHashId is blank for code trigger pipeline $pipelineId ") From fdcb7b726aa43e4c6399b3e85d32cb71b644dca3 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 20 Sep 2024 12:34:54 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E8=A7=A6=E5=8F=91=E5=99=A8?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=BC=95=E5=85=A5${{variables.xxx}}=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E8=A7=A6=E5=8F=91=E4=B8=8D=E4=BA=86=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF=20#10987?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devops/process/engine/service/RepoPipelineRefService.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/RepoPipelineRefService.kt b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/RepoPipelineRefService.kt index 8379eb70430..1a1774038e9 100644 --- a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/RepoPipelineRefService.kt +++ b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/RepoPipelineRefService.kt @@ -51,6 +51,7 @@ import com.tencent.devops.common.pipeline.utils.RepositoryConfigUtils import com.tencent.devops.process.engine.dao.PipelineInfoDao import com.tencent.devops.process.engine.dao.PipelineModelTaskDao import com.tencent.devops.process.engine.dao.PipelineResourceDao +import com.tencent.devops.process.utils.PipelineVarUtil import com.tencent.devops.repository.api.ServiceRepositoryResource import com.tencent.devops.repository.pojo.RepoPipelineRefInfo import com.tencent.devops.repository.pojo.RepoPipelineRefRequest @@ -201,7 +202,7 @@ class RepoPipelineRefService @Autowired constructor( channel: String ) { val repoPipelineRefInfos = mutableListOf() - val variables = mutableMapOf() + var variables = mutableMapOf() model?.stages?.forEachIndexed { index, stage -> if (index == 0) { val container = stage.containers[0] as TriggerContainer @@ -209,6 +210,8 @@ class RepoPipelineRefService @Autowired constructor( container.params.forEach { param -> variables[param.id] = param.defaultValue.toString() } + // 填充[variables.]前缀 + variables = PipelineVarUtil.fillVariableMap(variables).toMutableMap() analysisTriggerContainer( projectId = projectId, pipelineId = pipelineId, From 0912b85219ce4c0351830b0ba6228e0898f269b1 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 20 Sep 2024 14:27:18 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E8=A7=A6=E5=8F=91=E5=99=A8?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=BC=95=E5=85=A5${{variables.xxx}}=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E8=A7=A6=E5=8F=91=E4=B8=8D=E4=BA=86=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF=20#10987?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/engine/service/PipelineWebhookService.kt | 9 ++++++--- .../engine/service/PipelineWebhookUpgradeService.kt | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookService.kt b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookService.kt index 0a46633c8ba..a8b71258523 100644 --- a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookService.kt +++ b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookService.kt @@ -57,6 +57,7 @@ import com.tencent.devops.process.pojo.PipelineNotifyTemplateEnum import com.tencent.devops.process.pojo.webhook.PipelineWebhook import com.tencent.devops.process.pojo.webhook.WebhookTriggerPipeline import com.tencent.devops.process.service.scm.ScmProxyService +import com.tencent.devops.process.utils.PipelineVarUtil import com.tencent.devops.repository.api.ServiceRepositoryResource import com.tencent.devops.repository.pojo.Repository import org.jooq.DSLContext @@ -96,9 +97,11 @@ class PipelineWebhookService @Autowired constructor( return } val triggerContainer = model.stages[0].containers[0] as TriggerContainer - val variables = triggerContainer.params.associate { param -> - param.id to param.defaultValue.toString() - }.toMutableMap() + val variables = PipelineVarUtil.fillVariableMap( + triggerContainer.params.associate { param -> + param.id to param.defaultValue.toString() + } + ) val elements = triggerContainer.elements.filterIsInstance() val failedElementNames = mutableListOf() elements.forEach { element -> diff --git a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookUpgradeService.kt b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookUpgradeService.kt index 9ec1ca72d46..679d2615f58 100644 --- a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookUpgradeService.kt +++ b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineWebhookUpgradeService.kt @@ -43,6 +43,7 @@ import com.tencent.devops.common.pipeline.utils.RepositoryConfigUtils import com.tencent.devops.process.engine.dao.PipelineWebhookDao import com.tencent.devops.process.pojo.webhook.PipelineWebhook import com.tencent.devops.process.service.scm.ScmProxyService +import com.tencent.devops.process.utils.PipelineVarUtil import com.tencent.devops.repository.api.ServiceRepositoryResource import com.tencent.devops.repository.pojo.Repository import org.jooq.DSLContext @@ -337,9 +338,11 @@ class PipelineWebhookUpgradeService( return } val triggerContainer = model.stages[0].containers[0] as TriggerContainer - val params = triggerContainer.params.associate { param -> - param.id to param.defaultValue.toString() - } + val params = PipelineVarUtil.fillVariableMap( + triggerContainer.params.associate { param -> + param.id to param.defaultValue.toString() + } + ) val elementMap = triggerContainer.elements.filterIsInstance().associateBy { it.id } val pipelineWebhooks = pipelineWebhookDao.listWebhook( From f6f23b7796e6126cb27b287181379d0b6e980591 Mon Sep 17 00:00:00 2001 From: hejieehe <904696180@qq.com> Date: Fri, 20 Sep 2024 15:22:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20=E8=A7=A6=E5=8F=91=E5=99=A8?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=BC=95=E5=85=A5${{variables.xxx}}=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E8=A7=A6=E5=8F=91=E4=B8=8D=E4=BA=86=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF=20#10987?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devops/process/yaml/PipelineYamlRepositoryService.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/yaml/PipelineYamlRepositoryService.kt b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/yaml/PipelineYamlRepositoryService.kt index 87554192890..b1d5ca1790b 100644 --- a/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/yaml/PipelineYamlRepositoryService.kt +++ b/src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/yaml/PipelineYamlRepositoryService.kt @@ -46,6 +46,7 @@ import com.tencent.devops.process.pojo.pipeline.enums.PipelineYamlStatus import com.tencent.devops.process.pojo.webhook.PipelineWebhookVersion import com.tencent.devops.process.service.PipelineInfoFacadeService import com.tencent.devops.process.service.view.PipelineViewGroupService +import com.tencent.devops.process.utils.PipelineVarUtil import com.tencent.devops.process.yaml.actions.BaseAction import com.tencent.devops.process.yaml.actions.GitActionCommon import com.tencent.devops.process.yaml.actions.internal.PipelineYamlManualAction @@ -704,9 +705,11 @@ class PipelineYamlRepositoryService @Autowired constructor( return emptyList() } val triggerContainer = model.stages[0].containers[0] as TriggerContainer - val variables = triggerContainer.params.associate { param -> - param.id to param.defaultValue.toString() - }.toMutableMap() + val variables = PipelineVarUtil.fillVariableMap( + triggerContainer.params.associate { param -> + param.id to param.defaultValue.toString() + } + ).toMutableMap() // 补充yaml流水线代码库信息 variables[PIPELINE_PAC_REPO_HASH_ID] = repoHashId