Skip to content

Commit

Permalink
Merge pull request #5902 from Tencent/r1724
Browse files Browse the repository at this point in the history
v1.7.24
  • Loading branch information
irwinsun authored Jan 6, 2022
2 parents e1c9f0a + 4f9bdc4 commit e2f2a85
Show file tree
Hide file tree
Showing 25 changed files with 838 additions and 91 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ object Versions {
const val CommonExec = "1.3"
const val CommonText = "1.9"
const val Vmware = "5.1"
const val BouncyCastle = "1.46"
const val BouncyCastle = "1.70"
const val Dom4j = "1.6.1"
const val JsonSchema = "2.2.6"
const val Jasypt = "3.0.3"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,22 @@ enum class AuthResourceType(val value: String) {

ARTIFACTORY_CUSTOM_DIR("custom_dir"), // 版本仓库自定义目录

TICKET_CREDENTIAL("credential"), // 凭证服务凭据
TICKET_CERT("cert"), // 凭证服务证书
TICKET_CREDENTIAL("credential"), // 凭证服务凭据
TICKET_CERT("cert"), // 凭证服务证书

ENVIRONMENT_ENVIRONMENT("environment"), // 环境
ENVIRONMENT_ENV_NODE("env_node"), // 环境节点

EXPERIENCE_TASK("task"), // 体验任务
EXPERIENCE_GROUP("group"), // 体验组
EXPERIENCE_TASK("task"), // 体验任务
EXPERIENCE_TASK_NEW("experience_task"), // 体验任务(新权限中心资源类型需唯一)
EXPERIENCE_GROUP("group"), // 体验组
EXPERIENCE_GROUP_NEW("experience_group"), // 体验组(新权限中心资源类型需唯一)

SCAN_TASK("scan_task"), // 扫描任务

QUALITY_RULE("rule"), // 质量红线规则
QUALITY_GROUP("group"), // 质量红线用户组
QUALITY_RULE("rule"), // 质量红线规则
QUALITY_GROUP("group"), // 质量红线用户组
QUALITY_GROUP_NEW("quality_group"), // 质量红线用户组(新权限中心资源类型需唯一)

WETEST_TASK("task"), // 体验任务
WETEST_EMAIL_GROUP("email_group"), // 体验组
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
/*
* 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.process.api.template

import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID
import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID_DEFAULT_VALUE
import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.process.pojo.template.TemplateListModel
import com.tencent.devops.process.pojo.template.TemplateModelDetail
import com.tencent.devops.process.pojo.template.TemplateType
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import javax.ws.rs.Consumes
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam
import javax.ws.rs.core.MediaType

@Api(tags = ["USER_PIPELINE_TEMPLATE"], description = "用户-流水线-模板资源")
// @Path("/user/templatePipelines")
@Path("/user/template/pipelines")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
interface UserPipelineTemplateResource {

@ApiOperation("质量红线-获取模版列表")
@GET
@Path("/projects/{projectId}/listQualityViewTemplates")
fun listQualityViewTemplates(
@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("模版类型", required = false)
@QueryParam("templateType")
templateType: TemplateType?,
@ApiParam("是否已关联到store", required = false)
@QueryParam("storeFlag")
storeFlag: Boolean?,
@ApiParam("页码", required = false)
@QueryParam("page")
page: Int?,
@ApiParam("每页数量", required = false)
@QueryParam("pageSize")
pageSize: Int?,
@ApiParam("模板名称关键字", required = false)
@QueryParam("keywords")
keywords: String?
): Result<TemplateListModel>

@ApiOperation("获取单个流水线信息接口")
@GET
@Path("/project/{projectId}/template/{templateId}/getTemplateInfo")
fun getTemplateInfo(
@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("templateId")
templateId: String
): Result<TemplateModelDetail>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/*
* 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.process.api.user

import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID
import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID_DEFAULT_VALUE
import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.common.pipeline.enums.ChannelCode
import com.tencent.devops.process.pojo.PipelineListRequest
import com.tencent.devops.process.engine.pojo.PipelineInfo
import com.tencent.devops.process.pojo.Pipeline
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import javax.ws.rs.Consumes
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.POST
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam
import javax.ws.rs.core.MediaType

@Api(tags = ["USER_QUALITY_PIPELINE"], description = "用户-质量红线-流水线资源")
@Path("/user/pipeline/quality")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
interface UserPipelineQualityResource {

@ApiOperation("获取单个流水线信息接口")
@GET
@Path("/project/{projectId}/pipeline/{pipelineId}/getPipelineInfo")
fun getPipelineInfo(
@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("渠道号", required = false)
@QueryParam("channelCode")
channelCode: ChannelCode?
): Result<PipelineInfo>

@ApiOperation("根据id列出流水线")
@POST
@Path("/{projectId}/")
fun list(
@ApiParam(value = "用户ID", required = true, defaultValue = AUTH_HEADER_USER_ID_DEFAULT_VALUE)
@HeaderParam(AUTH_HEADER_USER_ID)
userId: String,
@ApiParam("原子类型", required = true)
@PathParam("projectId")
projectId: String,
@ApiParam("流水线ID", required = true)
request: PipelineListRequest?
): Result<List<Pipeline>>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/*
* 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.process.api.user

import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID
import com.tencent.devops.common.api.auth.AUTH_HEADER_USER_ID_DEFAULT_VALUE
import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.common.pipeline.enums.ManualReviewAction
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import javax.ws.rs.Consumes
import javax.ws.rs.HeaderParam
import javax.ws.rs.POST
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.core.MediaType

@Api(tags = ["USER_QUALITY_BUILD"], description = "用户-构建红线")
@Path("/user/quality/builds")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Suppress("ALL")
interface UserQualityBuildResource {

@ApiOperation("质量红线人工审核")
@POST
@Path("/{projectId}/{pipelineId}/{buildId}/{elementId}/qualityGateReview/{action}")
fun manualQualityGateReview(
@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("构建ID", required = true)
@PathParam("buildId")
buildId: String,
@ApiParam("步骤Id", required = true)
@PathParam("elementId")
elementId: String,
@ApiParam("动作", required = true)
@PathParam("action")
action: ManualReviewAction
): Result<Boolean>
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,33 +25,9 @@
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

package com.tencent.devops.process.api.user
package com.tencent.devops.process.pojo

import com.tencent.devops.common.api.pojo.Result
import com.tencent.devops.process.pojo.PipelineTemplate
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import javax.ws.rs.Consumes
import javax.ws.rs.GET
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.core.MediaType

@Api(tags = ["USER_PIPELINE_TEMPLATE"], description = "用户-流水线-模板资源")
// @Path("/user/templatePipelines")
@Path("/user/template/pipelines")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
interface UserPipelineTemplateResource {

@ApiOperation("列举流水线模板")
@GET
@Path("/projects/{projectCode}")
fun listTemplate(
@ApiParam("项目Code", required = true)
@PathParam("projectCode")
projectCode: String
): Result<Map<String, PipelineTemplate>>
}
data class PipelineListRequest(
val pipelineId: Collection<String>,
val templateId: Collection<String>
)
Loading

0 comments on commit e2f2a85

Please sign in to comment.