更新时间:2024-11-22 GMT+08:00
分享

工具链同步信息接口规格说明

本章节介绍开发中心工具链相关接口规格说明,可以参考对应的接口规格来实现具体的接口,并将接口配置在开发中心工具链集成页面,实现数据同步集成。

同步集成接口规格

参考如下接口规格实现接口并配置工具链同步集成,可以将开发中心中的数据(租户、产品、服务、微服务、版本)以及版本发布成功信息同步给配置的第三方系统。

租户信息同步接口URI:POST /sync/v1/tenant/produceAPI/tenantSync

请求Body参数:

{
    "instanceId": "hua********23456",                         #实例ID           
    "orderId": "CS1906666666ABCDE",                            #订单号
    "tenantId": "68cbc86****************880d92f36422fa0e",     #租户ID
    "tenantCode": "huawei",                                    #租户标识
    "name": "huaweitest",                                     #租户名称
    "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/product

请求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/service

请求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/statistic

Query参数:service_id #服务标识

version_id #版本标识

响应示例:

{
    "closed_num": 1,                  #已关闭数量
    "new_num": 1,                     #新建的数量
    "process_num": 1,                 #开发中的数量
    "rejected_num": 1,                #已拒绝数量
    "solved_num": 7,                  #已解决数量
    "test_num": 1,                    #测试中的数量
    "total": 12                       #总数量
}

接口URI:POST /req/v1/list

请求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": "7894",                     #需求编号
            "current_handler": "张三",            #当前处理人
            "create_time": "2020-09-13 14:40:11", #创建时间
            "create_user": "张三",                #创建人
            "expectedEndTime": "2020-09-14",      #计划完成时间
            "req_title": "MOCK需求数据",          #需求标题
            "priority": "1",                      #优先级
            "severity": "10",                     #严重程度
            "status": "5",                        #需求状态
            "req_type": "7",                      #需求类型
            "req_description": "需求描述",        #需求内容描述
            "version_name": "111"                 #归属版本
        }
    ],
    "total": 1                        #总数量
}

接口URI:POST /req/v1/create

请求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/detail/{req_id}

路径参数:req_id #需求ID

响应示例:

{
  "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/update

请求Body参数:

{
    "issue_item_id": "string",
    "service_id": "string",           #服务标识
    "version_name": "string"          #归属版本
}

缺陷类接口规格

参考如下接口规格实现缺陷类接口并配置工具链接口集成,可以将第三方系统的缺陷数据集成到开发中心。

接口URI:GET /defect/v1/statistic

Query参数:service_id #服务标识

version_id #版本标识

响应示例:

{
    "critical_num": 1,                #致命问题数
    "defect_index": 1,                #DI值 
    "normal_num": 3,                  #一般问题数
    "serious_num": 2,                 #严重问题数
    "tip_num": 1,                     #提示问题数
    "total": 7                        #总数
}

接口URI:POST /defect/v1/list

请求Body参数:

{
    "offset": 0,                      #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
    "limit": 10,                      #每页数量,最小值:1, 最大值:100
    "service_id": "28f61af50fc9452aa0ed5ea25c3cc3d3",   #服务标识
    "defect_title": "标题",           #缺陷标题
    "version_name": "1.1.1.1",        #版本标识
    "current_handler": "张三",        #当前处理人
    "status": [                       #缺陷状态
        "1",
        "2"
    ],
    "defect_id": [                    #缺陷编号
        "123456",
        "123457"
    ]
}

响应示例:

{
    "data": [
        {
            "defect_id": "7894",                  #缺陷编号  
            "current_handler": "张三",            #当前处理人 
            "created_time": "2020-09-13 14:40:11",#创建时间 
            "createUser": "张三",                 #创建人 
            "expectedEndTime": "2020-09-14",      #计划完成时间
            "defect_title": "MOCK缺陷数据",       #缺陷标题
            "priority": "1",                      #优先级
            "severity": "10",                     #严重程度
            "status": "5",                        #需求状态 
            "defect_description": "缺陷描述",     #缺陷内容描述
            "version_name": "111"                 #归属版本
        }
    ],
    "total": 1                         #总数量
}

接口URI:POST /defect/v1/create

请求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",            #缺陷标题
  "priority": "1",                      #优先级
  "severity": "10",                     #严重程度
  "status": "1",                        #缺陷状态
  "defect_description": "缺陷描述",     #缺陷内容描述
  "expected_end_time": "2024-09-13",    #计划完成时间
  "current_handler": "张三",            #当前处理人
  "create_user": "李四",                #创建人
  "create_time": "2024-09-13 08:53:50"     #创建时间
}

接口URI:GET /defect/v1/detail/{defect_id}

路径参数:defect_id #缺陷标识

响应示例:

{
  "defect_id": "28f61af50fc9452aa0ed5ea25c3cc3d3",    #缺陷编号
  "defect_title": "缺陷标题",                 #缺陷标题
  "version_name": "9.9.9.9",                  #归属版本
  "status": "1",                              #缺陷状态
  "defect_description": "缺陷描述",          #缺陷内容描述
  "expected_end_time": "2024-09-13",          #计划完成时间
  "current_handler": "张三",                  #当前处理人
  "priority": "1",                            #优先级
  "severity": "10",                           #严重程度
  "create_user": "李四",                      #创建人
  "create_time": "2024-09-13 08:50:52"        #创建时间
}

流水线类接口规格

参考如下接口规格实现流水线类接口并配置工具链接口集成,可以将第三方系统的流水线数据集成到开发中心。

接口URI:POST /pipeline/v1/run/{pipeline_id}

路径参数:pipeline_id #流水线标识

Query参数:service_id #服务标识

version_id #版本标识

请求Body参数:

{
   "variables": {                   #启动参数
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  }
}

响应示例:

{  
    "pipeline_run_id" : "ad6b7f66283a45be9c1f82b06c831e59"       #流水线运行实例ID
 }

接口URI:POST /pipeline/v1/stop/{pipeline_id}/{pipeline_run_id}

路径参数:pipeline_id #流水线标识

pipeline_run_id #流水线运行实例标识

Query参数:service_id #服务标识

version_id #版本标识

响应示例:

{   
    "success" : true 
}

接口URI:GET /pipeline/v1/instance/{pipeline_id}/{pipeline_run_id}/detail

路径参数:pipeline_id #流水线标识

pipeline_run_id #流水线运行实例标识

Query参数:service_id #服务标识

version_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/detail/{pipeline_id}

路径参数:pipeline_id #流水线标识

Query参数:service_id #服务标识

version_id #版本标识

响应示例:

{
  "pipeline_id": "9777b6f14dca47ab8e411512b8301698",     #流水线标识
  "pipeline_name": "Mock数据"                            #流水线名称
}

接口URI:GET /pipeline/v1/instance/{pipeline_id}/{pipeline_run_id}/artifacts

路径参数:pipeline_id #流水线标识

pipeline_run_id #流水线运行实例标识

Query参数:service_id #服务标识

version_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/list

Query参数:service_id #服务标识

version_id #版本标识

请求Body参数:

{
    "offset": 0,                      #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
    "limit": 10,                      #每页数量,最小值:1, 最大值:100
}

响应示例:

{
  "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.huawei.com/x03/JenkinsAdapter.git",      #扫描的代码仓地址
          "commit_id": "string"
        },
        "start_time": 1725265323466,         #开始时间
        "end_time": 1725265332313            #结束时间
      }
    }
  ],
  "total": 1           #总数
}

接口URI:POST /pipeline/v1/recent-run

Query参数:service_id #服务标识

version_id #版本标识

请求Body参数:

{
    "offset": 0,                      #偏移量,offset是limit的整数倍数,limit=10,offset=0,10,20...,最小值:0
    "limit": 10,                      #每页数量,最小值:1, 最大值:100
}

响应示例:

{
  "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.huawei.com/x03/JenkinsAdapter.git",    #扫描的代码仓地址
          "commit_id": "string"
        },
        "start_time": 1725265323466,         #开始时间
        "end_time": 1725265332313            #结束时间
      }
    }
  ],
  "total": 1           #总数
}

代码检查类接口规格

参考如下接口规格实现代码检查类接口并配置工具链接口集成,可以将第三方系统的代码检查数据集成到开发中心。

接口URI:GET /pipeline/v1/instance/{pipeline_id}/{pipeline_run_id}/code-check

路径参数:pipeline_id #流水线标识

pipeline_run_id #流水线运行实例标识

Query参数:service_id #服务标识

version_id #版本标识

响应示例:

{
  "check_task_id": "28f61af50fc9452aa0ed5ea25c3cc3d3",    #代码检查任务标识
}

接口URI:GET /code-check/v1/summary/{check_task_id}

路径参数:check_task_id #代码检查任务标识

Query参数:service_id #服务标识

version_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/list

请求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/repo/{repo_id}

路径参数:repo_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/create

请求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/status/{service_id}/{version_id}/{activity_code}

路径参数:activity_code #版本活动编码

service_id #服务标识

version_id #版本标识

响应示例:

{
  "status": "init"          #状态,init:未开始,inProgress:进行中, abnormal:异常/告警,completed:已完成/已关闭
}

接口URI:GET /activity/v1/check/{service_id}/{version_id}/{activity_code}/{release_type}

路径参数:activity_code #版本活动编码

service_id #服务标识

version_id #版本标识

release_type #发布类型,standard:标准发布,test:调测发布

响应示例:

{
  "check_result": true,            #检查结果,true:通过,false:不通过
  "check_rule": "string",          #检查规则
  "result_desc": "string"          #检查结果描述
}

相关文档