Skip to content

Commit

Permalink
feat:stage 审核支持 checklist 确认场景 TencentBlueKing#10920
Browse files Browse the repository at this point in the history
  • Loading branch information
yongyiduan committed Sep 14, 2024
1 parent 017ffbd commit 0ce6dd7
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -339,11 +339,13 @@ class StageTransfer @Autowired(required = false) constructor(
ManualReviewParamType.ENUM -> "SELECTOR"
ManualReviewParamType.MULTIPLE -> "SELECTOR-MULTIPLE"
ManualReviewParamType.BOOLEAN -> "BOOL"
ManualReviewParamType.CHECKBOX -> "CHECKBOX"
else -> "INPUT"
},
default = it.value,
values = it.options?.map { mit -> mit.key },
description = it.desc
description = it.desc,
required = it.required
)
},
description = stage.checkIn?.reviewDesc,
Expand Down Expand Up @@ -392,13 +394,18 @@ class StageTransfer @Autowired(required = false) constructor(
params.add(
ManualReviewParam(
key = key,
value = variable.default,
required = true,
value = when (variable.type) {
/* CHECKBOX 只能false,不允许修改 */
"CHECKBOX" -> false
else -> variable.default
},
required = variable.required ?: false,
valueType = when (variable.type) {
"TEXTAREA" -> ManualReviewParamType.TEXTAREA
"SELECTOR" -> ManualReviewParamType.ENUM
"SELECTOR-MULTIPLE" -> ManualReviewParamType.MULTIPLE
"BOOL" -> ManualReviewParamType.BOOLEAN
"CHECKBOX" -> ManualReviewParamType.CHECKBOX
else -> ManualReviewParamType.STRING
},
chineseName = variable.label,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,6 @@ data class ReviewVariable(
val type: String,
val default: Any?,
val values: Any?,
val required: Boolean?,
val description: String?
)
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ data class ManualReviewParam(
fun parseValueWithType(variables: Map<String, String>) {
value = if (variables.containsKey(key) && !variables[key].isNullOrBlank()) {
when (valueType) {
ManualReviewParamType.BOOLEAN -> variables[key].toBoolean()
ManualReviewParamType.BOOLEAN, ManualReviewParamType.CHECKBOX -> variables[key].toBoolean()
// TODO 将入库保存的字符串转回数组对象
else -> variables[key]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ enum class ManualReviewParamType(val value: String) {
TEXTAREA("textarea"),
BOOLEAN("boolean"),
ENUM("enum"),
CHECKBOX("checkbox"),
MULTIPLE("multiple");

override fun toString() = value
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1018,7 +1018,7 @@ class PipelineBuildFacadeService(
}
params.params.forEach {
when (it.valueType) {
ManualReviewParamType.BOOLEAN -> {
ManualReviewParamType.BOOLEAN, ManualReviewParamType.CHECKBOX -> {
it.value = it.value ?: false
}

Expand Down Expand Up @@ -1327,7 +1327,7 @@ class PipelineBuildFacadeService(
}
el.params.forEach { param ->
when (param.valueType) {
ManualReviewParamType.BOOLEAN -> {
ManualReviewParamType.BOOLEAN, ManualReviewParamType.CHECKBOX -> {
param.value = param.value ?: false
}

Expand Down Expand Up @@ -2773,6 +2773,14 @@ class PipelineBuildFacadeService(
originParam.value = param.toBoolean()
}

ManualReviewParamType.CHECKBOX -> {
val value = param.toBoolean()
if (originParam.required && !value) {
throw ParamBlankException("param: ${originParam.key} value must be true")
}
originParam.value = value
}

else -> {
originParam.value = param
}
Expand Down

0 comments on commit 0ce6dd7

Please sign in to comment.