Skip to content

Commit

Permalink
Merge pull request #4417 from royalhuang/issue_3893
Browse files Browse the repository at this point in the history
api: 提供修改流水线基础设置的OpenApi #3893
  • Loading branch information
irwinsun authored Jun 18, 2021
2 parents 394989f + bcf56c0 commit 60857ee
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import com.tencent.devops.common.pipeline.Model
import com.tencent.devops.process.pojo.Pipeline
import com.tencent.devops.process.pojo.PipelineId
import com.tencent.devops.process.pojo.PipelineName
import com.tencent.devops.process.pojo.setting.PipelineSetting
import com.tencent.devops.process.pojo.PipelineWithModel
import com.tencent.devops.process.pojo.pipeline.DeployPipelineResult
import com.tencent.devops.process.pojo.setting.PipelineModelAndSetting
Expand Down Expand Up @@ -304,4 +305,27 @@ interface ApigwPipelineResourceV3 {
@PathParam("pipelineId")
pipelineId: String
): Result<Boolean>

@ApiOperation("更新流水线设置")
@POST
@Path("/{projectId}/{pipelineId}/setting_update")
fun saveSetting(
@ApiParam(value = "appCode", required = true, defaultValue = AUTH_HEADER_DEVOPS_APP_CODE_DEFAULT_VALUE)
@HeaderParam(AUTH_HEADER_DEVOPS_APP_CODE)
appCode: String?,
@ApiParam(value = "apigw Type", required = true)
@PathParam("apigwType")
apigwType: String?,
@ApiParam(value = "用户ID", required = true, defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE)
@HeaderParam(AUTH_HEADER_USER_ID)
userId: String,
@ApiParam("项目ID", required = true)
@PathParam("projectId")
projectId: String,
@ApiParam("流水线ID", required = true)
@PathParam("pipelineId")
pipelineId: String,
@ApiParam(value = "流水线设置", required = true)
setting: PipelineSetting
): Result<Boolean>
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import com.tencent.devops.process.pojo.PipelineWithModel
import com.tencent.devops.process.pojo.Pipeline
import com.tencent.devops.process.pojo.PipelineId
import com.tencent.devops.process.pojo.PipelineName
import com.tencent.devops.process.pojo.setting.PipelineSetting
import com.tencent.devops.process.pojo.pipeline.DeployPipelineResult
import com.tencent.devops.process.pojo.setting.PipelineModelAndSetting
import org.slf4j.LoggerFactory
Expand Down Expand Up @@ -220,6 +221,23 @@ class ApigwPipelineResourceV3Impl @Autowired constructor(private val client: Cli
return client.get(ServicePipelineResource::class).restore(userId, projectId, pipelineId)
}

override fun saveSetting(
appCode: String?,
apigwType: String?,
userId: String,
projectId: String,
pipelineId: String,
setting: PipelineSetting
): Result<Boolean> {
logger.info("saveSetting: userId[$userId] projectId[$projectId] pipelineId[$pipelineId]")
return client.get(ServicePipelineResource::class).saveSetting(
userId = userId,
projectId = projectId,
pipelineId = pipelineId,
setting = setting
)
}

companion object {
private val logger = LoggerFactory.getLogger(ApigwPipelineResourceV3Impl::class.java)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import com.tencent.devops.process.pojo.PipelineIdInfo
import com.tencent.devops.process.pojo.PipelineName
import com.tencent.devops.process.pojo.pipeline.DeployPipelineResult
import com.tencent.devops.process.pojo.pipeline.SimplePipeline
import com.tencent.devops.process.pojo.setting.PipelineSetting
import com.tencent.devops.process.pojo.setting.PipelineModelAndSetting
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
Expand Down Expand Up @@ -206,6 +207,23 @@ interface ServicePipelineResource {
channelCode: ChannelCode
): Result<List<PipelineWithModel>>

@ApiOperation("保存流水线设置")
@POST
@Path("/{projectId}/{pipelineId}/saveSetting")
fun saveSetting(
@ApiParam(value = "用户ID", required = true, defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE)
@HeaderParam(AUTH_HEADER_USER_ID)
userId: String,
@ApiParam("项目ID", required = true)
@PathParam("projectId")
projectId: String,
@ApiParam("流水线ID", required = true)
@PathParam("pipelineId")
pipelineId: String,
@ApiParam(value = "流水线设置", required = true)
setting: PipelineSetting
): Result<Boolean>

@ApiOperation("获取流水线基本信息")
@GET
@Path("/{projectId}/{pipelineId}/getPipelineInfo")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,12 @@ import com.tencent.devops.process.pojo.PipelineWithModel
import com.tencent.devops.process.pojo.audit.Audit
import com.tencent.devops.process.pojo.pipeline.DeployPipelineResult
import com.tencent.devops.process.pojo.pipeline.SimplePipeline
import com.tencent.devops.process.pojo.setting.PipelineSetting
import com.tencent.devops.process.pojo.pipeline.enums.PipelineRuleBusCodeEnum
import com.tencent.devops.process.pojo.setting.PipelineModelAndSetting
import com.tencent.devops.process.service.PipelineInfoFacadeService
import com.tencent.devops.process.service.PipelineListFacadeService
import com.tencent.devops.process.service.pipeline.PipelineSettingFacadeService
import org.springframework.beans.factory.annotation.Autowired

@Suppress("ALL")
Expand All @@ -62,7 +64,8 @@ class ServicePipelineResourceImpl @Autowired constructor(
private val pipelineRuleService: PipelineRuleService,
private val pipelineListFacadeService: PipelineListFacadeService,
private val pipelineInfoFacadeService: PipelineInfoFacadeService,
private val pipelineRepositoryService: PipelineRepositoryService
private val pipelineRepositoryService: PipelineRepositoryService,
private val pipelineSettingFacadeService: PipelineSettingFacadeService
) : ServicePipelineResource {
override fun status(userId: String, projectId: String, pipelineId: String): Result<Pipeline?> {
checkParams(userId, projectId)
Expand Down Expand Up @@ -227,6 +230,18 @@ class ServicePipelineResourceImpl @Autowired constructor(
))
}

override fun saveSetting(
userId: String,
projectId: String,
pipelineId: String,
setting: PipelineSetting
): Result<Boolean> {
checkProjectId(projectId)
checkPipelineId(pipelineId)
pipelineSettingFacadeService.saveSetting(userId = userId, setting = setting, checkPermission = true)
return Result(true)
}

override fun getPipelineInfo(
projectId: String,
pipelineId: String,
Expand Down Expand Up @@ -366,6 +381,12 @@ class ServicePipelineResourceImpl @Autowired constructor(
}
}

private fun checkPipelineId(pipelineId: String) {
if (pipelineId.isBlank()) {
throw ParamBlankException("Invalid pipelineId")
}
}

@Suppress("ALL")
private fun checkPipelineIds(pipelineIds: List<String>) {
if (pipelineIds.isEmpty()) {
Expand Down

0 comments on commit 60857ee

Please sign in to comment.