Skip to content

Conversation

@yjieliang
Copy link
Collaborator

No description provided.

}

@JsonSetter("variables")
private fun setVariables(raw: Any?) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

setVariables 是私有的,但接口定义了公共的 variables setter。当通过接口调用 variables = ... 时,setVariables 方法不会被调用,导致解析逻辑失效。

}
is Map<*, *> -> {
// 提取template数据
val templateList = raw["template"] as? List<Map<String, String>>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"template"这种类型的key为什么要一直重复写死成字符串,常量类里面有公用的吧

if (templateList.isNotEmpty()) {
preYamlObject.variableTemplates = templateList.mapNotNull { template ->
val name = template["name"]
if (name == null) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

代码使用lamba表达式优化下,另外"version"之类的名称别写死了,用常量类

val trimmedLine = line.trimStart()
// 保留非注释行:不以#开头,且不以REM开头(不区分大小写)
!trimmedLine.startsWith("#") &&
!trimmedLine.startsWith("REM ", ignoreCase = true) &&
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

REM 注释判断逻辑不完整,REM 注释的规则是:只要行开头(忽略前置空白)以 REM 开头(无论后面是否有空格 / 字符),都属于注释行。

!trimmedLine.startsWith("REM ", ignoreCase = true) &&
!trimmedLine.equals("REM", ignoreCase = true)
}
.joinToString("\n")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

换行符处理不一致,text文本可能在windows或者linux机器上执行

versionName = versionName
)
}
.distinctBy { it.groupName } // 根据 groupName 去重
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

去重的逻辑是不是应该根据 groupName 和 version 去重

const val ERROR_TRIGGER_EVENT_EXPIRED = "2101341"
const val ERROR_PIPELINE_COMMON_VAR_GROUP_VAR_NAME_FORMAT_ERROR = "2101342" // 流水线公共变量组中变量名称格式错误
// 编排配置公共变量组中存在冲突变量{0},请调整变量组配置
const val ERROR_PIPELINE_COMMON_VAR_GROUP_CONFLICT = "2101343"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2101342和2101343错误码有冲突

val where = dslContext.select(MODEL)
.from(this)
.where(TEMPLATE_ID.eq(templateId).and(PROJECT_ID.eq(projectId)))
if (version != null) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IDE提示重复的代码,提取出来

referType: PublicVerGroupReferenceTypeEnum,
referVersion: Int,
groupName: String,
version: Int
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

方法参数太多了,封装成bean处理下

* @param version 版本号(可选)
* @return 变量引用信息列表
*/
fun listVarReferInfoByReferIdAndVersion(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

参数太多,一般超过5个建议封装成bean处理

yjieliang and others added 26 commits January 26, 2026 18:14
…ommon_var' into feat-12010

# Conflicts:
#	src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/ModelTransfer.kt
#	src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/StageTransfer.kt
#	src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/transfer/VariableTransfer.kt
#	src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v2/utils/YamlCommonUtils.kt
#	src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v3/models/PreScriptBuildYamlParser.kt
#	src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v3/models/PreScriptBuildYamlV3Parser.kt
#	src/backend/ci/core/common/common-pipeline-yaml/src/main/kotlin/com/tencent/devops/process/yaml/v3/parsers/template/YamlTemplate.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/Model.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/ModelDeserializer.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/ModelDeserializerModifier.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/ModelHandleService.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/container/TriggerContainer.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/BuildFormProperty.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/PublicVarGroupRef.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/pojo/VarRefDetail.kt
#	src/backend/ci/core/common/common-pipeline/src/main/kotlin/com/tencent/devops/common/pipeline/utils/ModelVarRefUtils.kt
#	src/backend/ci/core/metrics/api-metrics/src/main/kotlin/com/tencent/devops/metrics/api/ServiceMetricsResource.kt
#	src/backend/ci/core/metrics/biz-metrics/src/main/kotlin/com/tencent/devops/metrics/dao/PipelineOverviewDao.kt
#	src/backend/ci/core/metrics/biz-metrics/src/main/kotlin/com/tencent/devops/metrics/resources/ServiceMetricsResourceImpl.kt
#	src/backend/ci/core/metrics/biz-metrics/src/main/kotlin/com/tencent/devops/metrics/service/PipelineOverviewManageService.kt
#	src/backend/ci/core/metrics/biz-metrics/src/main/kotlin/com/tencent/devops/metrics/service/impl/PipelineOverviewServiceImpl.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/api/service/ServicePublicVarGroupResource.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/api/user/UserPublicVarGroupResource.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/api/user/UserPublicVarResource.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/constant/ProcessMessageCode.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/do/PublicGroupVarRefDO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/do/PublicVarDO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/do/PublicVarGroupDO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/do/PublicVarReleaseDO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/dto/PublicVarGroupDTO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/dto/PublicVarGroupInfoQueryReqDTO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/dto/PublicVarGroupReferDTO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/enums/OperateTypeEnum.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/enums/PublicVarTypeEnum.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/po/PublicVarGroupPO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/po/PublicVarPO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/pojo/var/po/PublicVarPositionPO.kt
#	src/backend/ci/core/process/api-process/src/main/kotlin/com/tencent/devops/process/utils/PipelineVersionUtils.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/dao/var/PublicVarDao.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/dao/var/PublicVarGroupDao.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/dao/var/PublicVarGroupReferInfoDao.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/dao/var/PublicVarGroupReleaseRecordDao.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/dao/var/PublicVarReferInfoDao.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/engine/dao/template/TemplatePipelineDao.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/engine/service/PipelineRepositoryService.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/engine/utils/PipelineUtils.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/service/ModelHandleServiceImpl.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/service/var/PublicVarGroupReleaseRecordService.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/service/var/PublicVarGroupService.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/service/var/PublicVarReferInfoService.kt
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/service/var/PublicVarService.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/api/UserPublicVarGroupResourceImpl.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/api/UserPublicVarResourceImpl.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/api/service/ServicePublicVarGroupResourceImpl.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/PipelineInfoFacadeService.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/PipelineVersionFacadeService.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/template/TemplateFacadeService.kt
#	support-files/i18n/process/message_en_US.properties
#	support-files/i18n/process/message_zh_CN.properties
…ommon_var' into feat-12010

# Conflicts:
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/service/var/PublicVarGroupReferManageService.kt
…2010

# Conflicts:
#	src/backend/ci/core/process/biz-base/src/main/kotlin/com/tencent/devops/process/engine/utils/TemplateInstanceUtil.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/pipeline/version/handler/PipelineDraftReleaseHandler.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/pipeline/version/handler/PipelineTemplateInstanceHandler.kt
…2010

# Conflicts:
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/template/v2/version/hander/PipelineTemplateDraftReleaseHandler.kt
#	src/backend/ci/core/process/biz-process/src/main/kotlin/com/tencent/devops/process/service/template/v2/version/hander/PipelineTemplateDraftSaveHandler.kt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants