工具链同步信息接口规格说明
本章节介绍开发中心工具链相关接口规格说明,可以参考对应的接口规格来实现具体的接口,并将接口配置在开发中心工具链集成页面,实现数据同步集成。
同步集成接口规格
参考如下接口规格实现接口并配置工具链同步集成,可以将开发中心中的数据(租户、产品、服务、微服务、版本)以及版本发布成功信息同步给配置的第三方系统。
租户信息同步接口URI:POST /sync/v1/tenant/produceAPI/tenantSync
请求Body参数:
{
"instanceId": "hua********23456", #实例ID
"orderId": "CS1906666666ABCDE", #订单号
"tenantId": "68cbc86****************880d92f36422fa0e", #租户ID
"tenantCode": "******", #租户标识
"name": "******test", #租户名称
"domainName": "https://example.tenantaccount.com", #域名
"flag": 1, #0:删除,1:新增,2:修改
"testFlag": 0, #0:生产正式数据,1:调测数据
"timeStamp": "20220413093539534", #时间戳
}
租户应用信息同步接口URI:POST /sync/v1/tenant/produceAPI/applicationSync
请求Body参数:
{
"instanceId": "hua********23456", #实例ID
"appId": "KSIDJF1234456", #应用的ID
"tenantId": "68cbc8*********b880d92f36422fa0e", #租户ID
"clientId": " bc20*******880d92f3", #客户端id
"clientSecret":"DSDT*******ECDD#$^#", #客户端secret
"flag": 1, #0:删除,1:新增,2:修改
"testFlag": 0, #0:生产正式数据,1:调测数据
"timeStamp": "20220413093539534", #时间戳
}
租户应用授权信息同步接口URI:POST /sync/v1/tenant/produceAPI/authSync
请求Body参数:
{
"instanceId": "hua********23456", #实例ID
"tenantId": "68cbc86ab******92f36422fa0e", #租户ID
"appId": "KSID******34456", #应用的ID
"userList": "[{ userName:"zhangsan01",name:"张三",position:"系统管理员",orgCode:"123456789",role:"admin" enable:"true"},{ userName:"lisi",name:"李四",position:"用户",orgCode:"123456789",role:"user" enable:"true"},]", #授权用户信息,包含userName:账号名、name:姓名、position:职位、orgCode:部门、role:角色(user-普通用户,admin-管理员)、enable:账号状态(true-启用,false-禁用)
"currentSyncTime": "20220413093539534", #时间戳
"flag": 1, #0:删除,1:新增,2:修改
"testFlag": 0, #0:生产正式数据,1:调测数据
"timeStamp": "20220413093539534", #时间戳
}
组织部门信息同步(增量)接口URI:POST /sync/v1/tenant/produceAPI/singleOrgSync
请求Body参数:
{
"instanceId": "hua********23456", #实例ID
"tenantId": "68cbc********0d92f36422fa0e", #租户ID
"orgCode": "10000", #部门代码
"orgName": "开发部", #部门名称
"parentCode": "", #上级部门的orgCode,如果是顶层部门,这个值为空
"flag": 1, #0:删除,1:新增,2:修改
"testFlag": 0, #0:生产正式数据,1:调测数据
"timeStamp": "20220413093539534", #时间戳
}
组织部门信息同步(全量)接口URI:POST /sync/v1/tenant/produceAPI/allOrgSync
请求Body参数:
{
"instanceId": "hua******t123456", #实例ID
"tenantId": "68cbc8******b880d92f36422fa0e", #租户ID
"orgInfo": "[{orgCode:"00000001", name:"产品部", parentCode:"265789314" },{orgCode:"00000002", name:"测试部", parentCode:"265789314" }]", #组织内部门层级信息,包含部门代码、部门名称、上级部门Code
"flag": 1, #0:删除,1:新增,2:修改
"testFlag": 0, #0:生产正式数据,1:调测数据
"timeStamp": "20220413093539534", #时间戳
}
响应示例:
{
"resultCode": "000000",
"resultMsg": "Success"
}
接口URI:POST /sync/v1/products
请求Body参数:
{
"product": {
"product_id": "string", #产品标识
"dept_id": "string", #产品关联的部门标识
"product_name": "string", #产品名称
"product_code": "string", #产品编码(产品英文名)
"status": "string" #状态
},
"op_type": "add", #操作类型,add新增、modify修改、delete删除
"time_stamp": "string" #时间戳
}
响应示例:
{
"resultCode": "000000",
"resultMsg": "Success"
}
接口URI:POST /sync/v1/services
请求Body参数:
{
"service": {
"service_id": "string", #产品标识
"dept_id": "string", #归属的部门标识
"product_id": "string", #归属的产品标识
"service_name": "", #服务名称
"service_code": "", #服务编码(服务英文名)
"status": "string" #状态
},
"op_type": "add", #操作类型,add新增、modify修改、delete删除
"time_stamp": "string" #时间戳
}
响应示例:
{
"resultCode": "000000",
"resultMsg": "Success"
}
接口URI:POST /sync/v1/micservice
请求Body参数:
{
"micservice": {
"micservice_id": "string", #微服务标识
"product_id": "string", #归属的产品标识
"service_id": "string", #归属的服务标识
"dept_id": "string", #归属的部门标识
"micservice_name": "", #微服务名称
"micservice_code": "", #微服务编码(微服务英文名)
"status": "string" #状态
},
"op_type": "add", #操作类型,add新增、modify修改、delete删除
"time_stamp": "string" #时间戳
}
响应示例:
{
"resultCode": "000000",
"resultMsg": "Success"
}
接口URI:POST /sync/v1/version
请求Body参数:
{
"version": {
"version_id": "string", #版本标识
"service_id": "string", #归属的服务标识
"product_id": "string", #归属的产品标识
"dept_id": "string", #归属的部门标识
"version_name": "string", #版本名称
"status": "string", #状态
"begin_date": "2024-09-25", #计划开始日期
"end_date": "2024-09-25" #计划完成日期
},
"op_type": "add", #操作类型,add新增、modify修改、delete删除
"time_stamp": "string" #时间戳
}
响应示例:
{
"resultCode": "000000",
"resultMsg": "Success"
}
接口URI:POST /release/v1/notify
请求Body参数:
{
"service_id": "string", #服务标识
"version_id": "string", #版本标识
"release_type": "string", #发布类型
"release_time": "2024-10-10T11:34:40.531Z", #发布时间
"artifacts": [ #发布制品列表
{
"build_no": "1", #构建任务编号
"name": "javaMavenDemo-1.0.jar", #制品名称
"file_size": "2.18KB", #制品大小
"hash_code": [ #哈希码
{
"hash_type": "SHA256", #哈希算法
"hash_value": "0fce55424a0514443f0bd612dcb25abb8de9f06572a2050ba8c6483352d5c5bd" #哈希值
}
],
"upload_target": "artifact", #存放平台类型
"upload_location": "string", #存放位置:SWR的组织/OBS桶/服务名
"artifact_uri": "/Build-TestBuildCheck-749/20240311.1/" #制品路径
}
]
}
需求类接口规格
参考如下接口规格实现需求类接口并配置工具链接口集成,可以将第三方系统的接口数据集成到开发中心。
接口URI:GET /req/v1/service/{service.service_code}/statistic
路径参数:{service.service_code} #服务编码
响应示例:
{
"stat_by_status": [
{
"status_id": "1", #状态ID
"name": "新建", #状态名称
"belonging": "开始态", #状态所属阶段(判定是否完成)
"count": 20 #数量
}
],
"total_count": 38 #总数
}
接口URI:POST /req/v1/service/{service.service_code}/version/{version.version_name}/list
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
请求Body参数:
{
"service_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #服务标识
"version_name": "MyDemo", #版本标识
"req_id": "this is a demo", #需求编号
"req_type": "string", #需求类型
"req_title": "string", #需求标题
"current_handler": "string", #当前处理人
"status": "string", #需求状态
"limit": "string", #每页数量,最小值:1, 最大值:100
"offset": "string" #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
}
响应示例:
{
"data": [
{
"req_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #需求编号
"req_type": "US", #需求类型
"req_title": "", #需求标题
"version_name": "string", #归属版本
"status": "string", #需求状态
"req_description": "string", #需求内容描述
"expected_end_time": "2025-02-05T06:26:41.223Z", #计划完成时间
"current_handler": "string", #当前处理人
"create_user": "string", #创建人
"create_time": "2025-02-05T06:26:41.223Z" #需求时间
}
],
"total": 0 #总数量
}
接口URI:POST /req/v1/service/{service.service_code}/version/{version.version_name}/create
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
请求Body参数:
{
"req_title": "新需求", #需求标题
"req_type": "7", #需求类型
"version_name": "3.3.3.3", #归属版本
"req_description": "需求描述", #需求内容描述
"expected_end_time": "2024-09-13", #计划完成时间
"current_handler": "张三", #当前处理人
"create_user": "李四", #创建人
"create_time": "2024-09-13 10:00:00" #创建时间
}
响应示例:
{
"req_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #需求编号
"req_type": "7", #需求类型
"req_title": "新需求", #需求标题
"version_name": "3.3.3.3", #归属版本
"status": "1", #需求状态
"req_description": "需求描述", #需求内容描述
"expected_end_time": "2024-09-13", #计划完成时间
"current_handler": "张三", #当前处理人
"create_user": "李四", #创建人
"create_time": "2024-09-13 10:00:00" #创建时间
}
接口URI:GET /req/v1/service/{service.service_code}/detail/{req.req_id}
路径参数:req_id #需求ID
{service.service_code} #服务编码
响应示例:
{
"req_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #需求编号
"req_type": "7", #需求类型
"req_title": "需求", #需求标题
"version_name": "5.5.5.5", #归属版本
"status": "1", #需求状态
"req_description": "需求描述", #需求内容描述
"expected_end_time": "2024-09-13", #计划完成时间
"current_handler": "张三", #当前处理人
"create_user": "李四", #创建人
"create_time": "2024-09-13 08:50:52" #创建时间
}
工具级别为版本级时,才需要配置。
接口URI:POST /req/v1/service/{service.service_code}/version/{version.version_name}/update
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
请求Body参数:
{
"issue_item_id": "string",
"service_id": "string", #服务ID
"version_name": "string" #版本名称
}
接口URI:GET /req/v1/service/{service.service_code}/status-list
路径参数:{service.service_code} #服务编码
响应示例:
[
{
"status_id": "1", #状态ID
"name": "新建", #状态名称
"belonging": "开始态" #状态阶段(判定是否为完成态)
}
]
工具级别为版本级时,才需要配置。
接口URI:GET /req/v1/service/{service.service_code}/version/{version.version_name}/version-stat
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
响应示例:
{
"stat_by_status": [ #按照状态维度统计列表
{
"status_id": "19", #状态ID
"name": "XJD-需求完成", #状态名称
"belonging": "结束态", #状态所属阶段
"count": 0 #该状态下数量
}
],
"stat_by_handler": [ #按照处理人维度统计列表
{
"handler": "user1", #处理人
"uncompleted_count": 2, #当前处理人未完成数量
"count": 2 #当前处理人总数
}
],
"total_count": 1, #总数
"uncompleted_count": 1 #总未完成数
}
缺陷类接口规格
参考如下接口规格实现缺陷类接口并配置工具链接口集成,可以将第三方系统的缺陷数据集成到开发中心。
接口URI:GET /defect/v1/service/{service.service_code}/statistic
路径参数:{service.service_code} #服务编码
响应示例:
{
"stat_by_severity": { #按照重要程度统计数据
"critical_count": 5, #关键数量
"defect_index": 86.1, #DI值
"normal_count": 27, #一般数量
"serious_count": 3, #重要数量
"tip_count": 1, #指示数量
"count": 36 #总数
},
"total_count": 36 #总数
}
接口URI:POST /defect/v1/service/{service.service_code}/version/{version.version_name}/list
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
请求Body参数:
{
"service_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #服务标识
"version_name": "MyDemo", #服务标识
"defect_id": "this is a demo", #缺陷编码
"defect_title": "string", #缺陷标题
"current_handler": "string", #当前处理人
"status": "string", #缺陷状态
"limit": "string", #每页数量,最小值:1,最大值:100。
"offset": "string" #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
}
响应示例:
{
"data": [
{
"defect_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #缺陷编号
"defect_title": "", #缺陷标题
"version_name": "string", #归属版本
"status": "string", #缺陷状态
"defect_description": "string", #缺陷内容描述
"expected_end_time": "string", #计划完成时间
"current_handler": "string", #当前处理人
"create_user": "string", #创建人
"create_time": "2025-01-24T03:12:39.316Z", #创建时间
"priority": "string", #优先级
"severity": "string" #严重程度
}
],
"total": 0 #总数量
}
接口URI:POST /defect/v1/service/{service.service_code}/version/{version.version_name}/create
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
请求Body参数:
{
"defect_title": "缺陷标题", #缺陷标题
"version_name": "6.6.6.6", #归属版本
"defect_description": "缺陷描述", #缺陷内容描述
"expected_end_time": "2024-09-13", #计划完成时间
"current_handler": "张三", #当前处理人
"create_user": "李四", #创建人
"create_time": "2024-09-13 08:53:50" #创建时间
}
响应示例:
{
"defect_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #缺陷编号
"defect_title": "缺陷标题", #缺陷标题
"version_name": "6.6.6.6", #归属版本
"status": "1", #缺陷状态
"defect_description": "缺陷描述", #缺陷内容描述
"expected_end_time": "2024-09-13", #计划完成时间
"current_handler": "张三", #当前处理人
"create_user": "李四", #创建人
"create_time": "2024-09-13 08:53:50" #创建时间
"priority": "1", #优先级
"severity": "10", #严重程度
}
接口URI:GET /defect/v1/service/{service.service_code}/detail/{defect.defect_id}
路径参数:{service.service_code} #服务编码
{defect.defect_id} #缺陷ID
响应示例:
{
"defect_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #缺陷编号
"defect_title": "缺陷标题", #缺陷标题
"version_name": "9.9.9.9", #归属版本
"status": "1", #缺陷状态
"defect_description": "缺陷描述", #缺陷内容描述
"expected_end_time": "2024-09-13", #计划完成时间
"current_handler": "张三", #当前处理人
"create_user": "李四", #创建人
"create_time": "2024-09-13 08:50:52" #创建时间
"priority": "1", #优先级
"severity": "10", #严重程度
}
接口URI:GET /defect/v1/service/{service.service_code}/status-list
路径参数:{service.service_code} #服务编码
响应示例:
[
{
"status_id": "1", #状态ID
"name": "新建", #状态名称
"belonging": "开始态" #状态阶段(判定是否为完成态)
}
]
工具级别为版本级时,才需要配置。
接口URI:GET /defect/v1/service/{service.service_code}/version/{version.version_name}/version-stat
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
响应示例:
{
"uncompleted_stat_by_severity": { #按照重要程度统计未完成数据
"critical_count": 0, #关键未完成数量
"defect_index": 0, #未完成DI值
"normal_count": 1, #一般完成数量
"serious_count": 1, #严重未完成数量
"tip_count": 0, #指示未完成数量
"count": 0 #总数
},
"stat_by_severity": { #按照重要程度统计数据(包含完成与未完成)
"critical_count": 0, #关键数量
"defect_index": 0, #DI值
"normal_count": 1, #一般数量
"serious_count": 1, #严重数量
"tip_count": 0, #指示数量
"count": 0 #总数
},
"stat_by_status": [ #按照状态统计数据
{
"status_id": "23", #状态ID
"name": "XJD-问题提出", #状态名称
"belonging": "开始态", #状态所属阶段
"count": 1 #当前状态总数
}
],
"stat_by_handler": [ #按照处理人维度统计数据
{
"handler": "user", #处理人
"stat_by_belonging": { #按照处理人维度下状态所属阶段统计数据
"init_count": 3, #新建阶段
"process_count": 0, #处理中阶段
"end_count": 0, #完成阶段
"count": 3 #总数
},
"uncompleted_count": 3, #当前处理人下未完成数量
"count": 3 #当前处理人数量
}
]
}
流水线类接口规格
参考如下接口规格实现流水线类接口并配置工具链接口集成,可以将第三方系统的流水线数据集成到开发中心。
接口URI:POST /pipeline/v1/service/{service.service_code}/version/{version.version_name}/run/{pipeline.pipeline_id}
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{pipeline.pipeline_id} #流水线ID
请求Body参数:
{
"variables": { #启动参数
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
响应示例:
{
"pipeline_run_id" : "ad6b7f66283a45be9c1f82b06c831e59" #流水线运行实例ID
}
接口URI:POST /pipeline/v1/service/{service.service_code}/version/{version.version_name}/stop/{pipeline.pipeline_id}/{pipeline.pipeline_run_id}
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{pipeline.pipeline_id} #流水线ID
{pipeline.pipeline_run_id} #流水线执行实例ID
接口URI:GET /pipeline/v1/service/{service.service_code}/version/{version.version_name}/instance/{pipeline.pipeline_id}/{pipeline.pipeline_run_id}/detail
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{pipeline.pipeline_id} #流水线ID
{pipeline.pipeline_run_id} #流水线执行实例ID
响应示例:
{
"pipeline_id": "string", #流水线ID
"pipeline_name": "string", #流水线名称
"executor_id": "string", #执行人ID
"executor_name": "string", #执行人名称
"status": "COMPLETED", #状态,COMPLETED:已完成,RUNNING:运行中,FAILED:失败,CANCELED:取消,PAUSED:暂停,SUSPEND:挂起,IGNORED:忽略
"trigger_type": "Manual", #触发类型,Manual:手动触发,Scheduler:定时任务触发,RollBack:回滚执行。WebHook类型,CreateTag:Tag 触发,Note:Gitee仓库评论触发,Issue:Gitee 仓库Issue触发,MR:合并请求触发,Push:代码push触发
"start_time": 0, #开始时间
"end_time": 0, #结束时间
"sources": {
"repo_name": "aaaaa", #仓库名称
"target_branch": "master" #分支
}
}
接口URI:GET /pipeline/v1/service/{service.service_code}/version/{version.version_name}/detail/{pipeline.pipeline_id}
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{pipeline.pipeline_id} #流水线ID
响应示例:
{
"pipeline_id": "9777b6f14dca47ab8e411512b8301698", #流水线标识
"pipeline_name": "Mock数据" #流水线名称
}
工具级别为版本级时,才需要配置。
接口URI:GET /pipeline/v1/service/{service.service_code}/version/{version.version_name}/instance/{pipeline.pipeline_id}/{pipeline.pipeline_run_id}/artifacts
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{pipeline.pipeline_id} #流水线ID
{pipeline.pipeline_run_id} #流水线执行实例ID
响应示例:
{
"data": [
{
"build_no": "1", #构建任务编号
"name": "javaMavenDemo-1.0.jar", #制品名称
"file_size": "2.18KB", #制品大小
"hash_code": [ #哈希码
{
"hash_type": "SHA256", #哈希算法
"hash_value": "0fce55424a0514443f0bd612dcb25abb8de9f06572a2050ba8c6483352d5c5bd" #哈希值
}
],
"upload_target": "artifact", #存放平台类型
"upload_location": "string", #存放位置:SWR的组织/OBS桶/服务名
"artifact_uri": "/Build-TestBuildCheck-749/20240311.1/" #制品路径
}
]
}
接口URI:POST /pipeline/v1/service/{service.service_code}/version/{version.version_name}/list
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
请求Body参数:
{
"limit": 100, #每页数量,最小值:1, 最大值:100
"offset": 0 #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
}
响应示例:
{
"data": [
{
"pipeline_id": "string", #流水线ID
"pipeline_name": "string", #流水线名称
"latest_run": {
"executor_id": "3fc4481d0e8ec8dd94800a7931b15714ef47728b",
"executor_name": "XXX",
"stage_status_list": [
{
"name": "Declarative: Tool Install",
"sequence": 6,
"status": "COMPLETED",
"start_time": "2024-09-02 16:22:04",
"end_time": "2024-09-02 16:22:04"
}
],
"status": "COMPLETED", #状态,COMPLETED:已完成,RUNNING:运行中,FAILED:失败,CANCELED:取消,PAUSED:暂停,SUSPEND:挂起,IGNORED:忽略
"trigger_type": "Manual", #触发类型,Manual:手动触发,Scheduler:定时任务触发,RollBack:回滚执行。WebHook类型,CreateTag:Tag 触发,Note:仓库评论触发,Issue:仓库Issue触发,MR:合并请求触发,Push:代码push触发
"build_params": {
"target_branch": "master", #分支
"repo_id": "x03/JenkinsAdapter", #仓库ID
"git_url": "https://codehub-dg-g.******.com/x03/JenkinsAdapter.git", #扫描的代码仓地址
"commit_id": "string"
},
"start_time": 1725265323466, #开始时间
"end_time": 1725265332313 #结束时间
}
}
],
"total": 1 #总数
}
接口URI:POST /pipeline/v1/service/{service.service_code}/recent-run
路径参数:{service.service_code} #服务编码
请求Body参数:
{
"limit": 100, #每页数量,最小值:1, 最大值:100
"offset": 0 #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
}
响应示例:
{
"data": [
{
"pipeline_id": "string", #流水线ID
"pipeline_name": "string", #流水线名称
"latest_run": {
"executor_id": "3fc4481d0e8ec8dd94800a7931b15714ef47728b",
"executor_name": "XXX",
"stage_status_list": [
{
"name": "Declarative: Tool Install",
"sequence": 6,
"status": "COMPLETED", #状态,COMPLETED:已完成,RUNNING:运行中,FAILED:失败,CANCELED:取消,PAUSED:暂停,SUSPEND:挂起,IGNORED:忽略
"start_time": "2024-09-02 16:22:04",
"end_time": "2024-09-02 16:22:04"
}
],
"status": "COMPLETED", #状态,COMPLETED:已完成,RUNNING:运行中,FAILED:失败,CANCELED:取消,PAUSED:暂停,SUSPEND:挂起,IGNORED:忽略
"trigger_type": "Manual", #触发类型,Manual:手动触发,Scheduler:定时任务触发,RollBack:回滚执行。WebHook类型,CreateTag:Tag 触发,Note:仓库评论触发,Issue:仓库Issue触发,MR:合并请求触发,Push:代码push触发
"build_params": {
"target_branch": "master", #分支
"repo_id": "x03/JenkinsAdapter", #仓库ID
"git_url": "https://codehub-dg-g.******.com/x03/JenkinsAdapter.git", #扫描的代码仓地址
"commit_id": "string"
},
"start_time": 1725265323466, #开始时间
"end_time": 1725265332313 #结束时间
}
}
],
"total": 1 #总数
}
工具级别为版本级时,才需要配置。
接口URI:GET /pipeline/v1/service/{service.service_code}/version/{version.version_name}/instance/{pipeline.pipeline_id}/{pipeline.pipeline_run_id}/code-check
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{pipeline.pipeline_id} #流水线ID
{pipeline.pipeline_run_id} #流水线执行实例ID
响应示例:
{
"check_task_id": "28f61af50fc9452aa0ed5ea25c3cc3d3", #代码检查任务标识
}
代码检查类接口规格
参考如下接口规格实现代码检查类接口并配置工具链接口集成,可以将第三方系统的代码检查数据集成到开发中心。
工具级别为版本级时,才需要配置。
接口URI:GET /code-check/v1/service/{service.service_code}/version/{version.version_name}/summary/{codecheck.instance.check_task_id}
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{codecheck.instance.check_task_id} #代码检查任务ID
响应示例:
{
"git_url": "string", #扫描的代码仓地址
"git_branch": "string", #扫描的代码仓分支
"task_name": "string", #代码检查的任务名称
"last_check_time": "string", #最后检查时间
"is_access": true, #是否通过
"critical_count": "string", #致命问题个数
"major_count": "string", #严重问题个数
"minor_count": "string", #一般问题个数
"suggestion_count": "string", #建议问题个数
"cyclomatic_complexity_per_method": "string", #平均圈复杂度
"maximum_cyclomatic_complexity": "string", #最大圈复杂度
"code_duplication_ratio": "string" #代码重复率
}
代码仓类接口规格
参考如下接口规格实现代码仓类接口并配置工具链接口集成,可以将第三方系统的代码仓数据集成到开发中心。
接口URI:POST /repo/v1/service/{service.service_code}/list
路径参数:{service.service_code} #服务编码
请求Body参数:
{
"limit": 10, #每页数量,最小值:1, 最大值:100
"offset": 0, #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
"search": "string" #代码仓名称,模糊搜索
}
响应示例:
{
"data": [ #仓库信息列表
{
"repo_id": "string", #仓库ID
"repo_name": "string", #仓库名称
"status": "string", #仓库状态,0:仓库正常创建成功,1:仓库创建中,2:创建失败,3:仓库冻结,4:仓库已经关闭
"https_url": "string", #使用HTTPS克隆仓库时所使用的URL
"ssh_url": "string", #使用SSH方式克隆仓库时所使用的URL
"web_url": "string", #WEB URL路径,访问它将跳转至仓库详情页
"create_name": "string", #创建者
"update_time": "string", #更新时间
"create_time": "string", #创建时间
"description": "string" #描述
}
],
"total": "string" #总数量
}
接口URI:GET /repo/v1/service/{service.service_code}/repo/{repo.repo_id}
路径参数:{service.service_code} #服务编码
{repo.repo_id} #代码仓ID
响应示例:
{
"repo_id": "string", #仓库ID
"repo_name": "string", #仓库名称
"status": "string", #仓库状态,0:仓库正常创建成功,1:仓库创建中,2:创建失败,3:仓库冻结,4:仓库已经关闭
"https_url": "string", #使用HTTPS克隆仓库时所使用的URL
"ssh_url": "string", #使用SSH方式克隆仓库时所使用的URL
"web_url": "string", #WEB URL路径,访问它将跳转至仓库详情页
"create_name": "string", #创建者
"update_time": "string", #更新时间
"create_time": "string", #创建时间
"description": "string" #描述
}
接口URI:POST /repo/v1/service/{service.service_code}/create
路径参数:{service.service_code} #服务编码
请求Body参数:
{
"repo_name": "string", #仓库名称
"description": "string", #仓库描述
"service_id": "string" #仓库所属服务
}
响应示例:
{
"repo_id": "string", #仓库ID
"repo_name": "string", #仓库名称
"status": "string", #仓库状态,0:仓库正常创建成功,1:仓库创建中,2:创建失败,3:仓库冻结,4:仓库已经关闭
"https_url": "string", #使用HTTPS克隆仓库时所使用的URL
"ssh_url": "string", #使用SSH方式克隆仓库时所使用的URL
"web_url": "string", #WEB URL路径,访问它将跳转至仓库详情页
"create_name": "string", #创建者
"update_time": "string", #更新时间
"create_time": "string", #创建时间
"description": "string" #描述
}
版本活动类接口规格
参考如下接口规格实现版本活动类接口并配置工具链接口集成,可以将第三方系统的版本活动数据集成到开发中心。
工具级别为版本级时,才需要配置。
接口URI:GET /activity/v1/service/{service.service_code}/version/{version.version_name}/status/{activity_code}
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{activity_code} #版本活动编码
响应示例:
{
"status": "init" #状态,init:未开始,inProgress:进行中, abnormal:异常/告警,completed:已完成/已关闭
}
接口URI:GET /activity/v1/service/{service.service_code}/version/{version.version_name}/check/{activity_code}/{release_type}
路径参数:{service.service_code} #服务编码
{version.version_name} #版本名称
{activity_code} #版本活动编码
{release_type} #发布类型
响应示例:
{
"check_result": true, #检查结果,true:通过,false:不通过
"check_rule": "string", #检查规则
"result_desc": "string" #检查结果描述
}