Skip to content

Latest commit

 

History

History
1174 lines (880 loc) · 21.4 KB

open-api.md

File metadata and controls

1174 lines (880 loc) · 21.4 KB

open api 对外接口文档

1. 获取工程 api token

描述

获取open api 访问的token

请求类型

POST

请求URL

/api/auth

请求参数(json body)

参数名称 类型 方式 必填 说明
projectName String body Y 工程名称
apiPassword String body Y 工程api密码

请求示例

{
    "projectName": "yourProjectName",
    "apiPassword": "yourProjectPassword"
}

返回参数

参数名称 类型 说明
projectId Long 工程ID
projectName String 工程名称
token String 访问工程的 api token
neverExpired Boolean 是否永不过期,true: 永不过期,false: 根据expiredTime判断是否过期
expiredTime Long 过期时间,时间戳形式,单位为毫秒

返回样例

{
    "status":0,
    "msg":"success",
    "data":{
        "projectId":6,
        "projectName":"your-project-name",
        "token":"04ecc5c89105461a90b946f8fe1f0948",
        "neverExpired":true,
        "expiredTime":0
    }
}

2. 获取工程下的所有环境

描述

获取工程下的所有环境

请求类型

GET

请求URL

/api/environment

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y 工程的 api token

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/environment?token=03ecc4c89105461a90b926f8fe1f0948'

返回参数

参数名称 类型 说明
projectId Long 工程ID
environmentId Long 环境ID
environmentName String 环境名称

返回样例

{
  "status":0,
  "msg":"success",
  "data":[
    {
      "projectId":6,
      "environmentId":54,
      "environmentName":"dev"
    },
    {
      "projectId":6,
      "environmentId":55,
      "environmentName":"test"
    },
    {
      "projectId":6,
      "environmentId":56,
      "environmentName":"online"
    }
  ]
}

3. 根据环境名称获取指定环境

描述

根据环境名称获取指定环境

请求类型

GET

请求URL

/api/environment/{environmentName}

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y 工程的 api token
environmentName String path Y 环境名称

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/environment/dev?token=03ecc4c89105461a90b926f8fe1f0948'

返回参数

参数名称 类型 说明
projectId Long 工程ID
environmentId Long 环境ID
environmentName String 环境名称

返回样例

{
  "status":0,
  "msg":"success",
  "data":{
    "projectId":6,
    "environmentId":56,
    "environmentName":"online"
  }
}

4. 获取环境下所有版本

描述

获取环境下所有版本

请求类型

GET

请求URL

/api/version

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
environmentId Long query Y 环境ID

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/version?token=03ecc61a90b926f8fe1f0948&environmentId=3'

返回参数

参数名称 类型 说明
projectId Long 工程ID
environmentId Long 环境ID
versionId Long 版本ID
versionName String 版本名称
checkSum String 版本checkSum

返回样例

{
  "status":0,
  "msg":"success",
  "data":[
    {
      "projectId":6,
      "environmentId":58,
      "versionId":63,
      "versionName":"1.0.0.0",
      "checkSum":""
    }
  ]
}

5. 根据版本名称获取指定版本

描述

根据版本名称获取指定版本

请求类型

GET

请求URL

/api/version/{versionName}

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
environmentId Long query Y 环境ID
versionName String path Y 版本名称

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/version/1.0.0?token=03eccb926f8fe1f0948&environmentId=3'

返回参数

参数名称 类型 说明
projectId Long 工程ID
environmentId Long 环境ID
versionId Long 版本ID
versionName String 版本名称
checkSum String 版本checkSum

返回样例

{
  "status":0,
  "msg":"success",
  "data":{
    "projectId":6,
    "environmentId":58,
    "versionId":63,
    "versionName":"1.0.0.0",
    "checkSum":""
  }
}

6. 根据版本名称获取指定版本(支持灰度)

描述

根据版本名称获取指定版本或灰度版本

请求类型

GET

请求URL

/api/v2/version/{versionName}

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
environmentId Long query Y 环境ID
containerId String query N 容器ID
idc String query N 机房名称
ip String query N ip
versionName String path Y 主版本名称

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/v2/version/1.0.0?token=5461a26f8fe1f0948&environmentId=3'

返回参数

参数名称 类型 说明
projectId Long 工程ID
environmentId Long 环境ID
versionId Long 版本ID
versionName String 版本名称
checkSum String 版本checkSum

返回样例

{
  "status": 0,
    "msg": "success",
    "data": {
        "projectId": 16,
        "environmentId": 49,
        "versionId": 94,
        "versionName": "灰度版本0",
        "checkSum": ""
    },
    "sts": 1628738798909
}

7. 获取版本下所有分组

描述

获取版本下所有分组

请求类型

GET

请求URL

/api/group

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long query Y 版本ID

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/group/1.0.0?token=03ecc4c891090b926f8fe1f0948&versionId=3'

返回参数

参数名称 类型 说明
groupId Long 分组ID
groupName String 分组名称

返回样例

{
  "status":0,
  "msg":"success",
  "data":[
    {
      "groupId":506,
      "groupName":"g1"
    },
    {
      "groupId":507,
      "groupName":"g2"
    }
  ]
}

8. 获取所有配置项

描述

获取所有配置项

请求类型

GET

请求URL

/api/item

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long query Y 版本ID

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/item?token=03ecc4c8910b926f8fe1f0948&versionId=3'

返回参数

参数名称 类型 说明
key String 配置项名称
value String 配置值

返回样例

{
  "status":0,
  "msg":"success",
  "data":[
    {
      "key":"amis.bns",
      "value":"group.legend-frontend.orp.all"
    },
    {
      "key":"amis.enable",
      "value":"false"
    },
    {
      "key":"amis.env",
      "value":"test"
    },
    {
      "key":"bdrp.nodes",
      "value":"10.206.201.47:8404"
    },
    {
      "key":"bigpipe.auditPass.cluster",
      "value":"bigpipe_sandbox_new"
    }
  ]
}

9. 根据分组获取分组下配置项

描述

根据分组获取分组下配置项

请求类型

GET

请求URL

/api/groupItem

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
groupId Long query Y 分组ID

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/groupItem?token=03ecc4c89106f8fe1f0948&groupId=3'

返回参数

参数名称 类型 说明
key String 配置项名称
value String 配置值

返回样例

{
  "status":0,
  "msg":"success",
  "data": {
    "key":"amis.env",
    "value":"test"
  }
}

10. 根据配置名称获取指定配置项

描述

根据配置名称获取指定配置项

请求类型

GET

请求URL

/api/item/{itemName}

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long query Y 版本ID
itemName String path Y 配置名称

请求示例

curl --request GET -sL \
     --url 'http://ip:port/api/item/MySQL?token=03ecc4c8926f8fe1f0948&versionId=3'

返回参数

参数名称 类型 说明
key String 配置项名称
value String 配置值

返回样例

{
  "status":0,
  "msg":"success",
  "data": {
    "key":"amis.env",
    "value":"test"
  }
}

11. 批量获取指定配置项

描述

批量获取指定配置项

请求类型

POST

请求URL

/api/item/batchItem

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long body Y 版本ID
keys List<String> body N 如果为空则获取版本下的所有配置项

请求示例

{
    "versionId":3,
    "keys":[
        "k1",
        "k2"
    ]
}

返回参数

参数名称 类型 说明
key String 配置项名称
value String 配置值

返回样例

{
  "status":0,
  "msg":"success",
  "data":[
    {
      "key":"spring.datasource.hikari.max-lifetime",
      "value":"1800000"
    },
    {
      "key":"spring.datasource.name",
      "value":"mdc-datasource"
    }
  ]
}

12. 新增环境

描述

新增环境

请求类型

POST

请求URL

/api/environmentAdd

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
name String body Y 环境名称
memo String body N 环境简介

请求示例

{
  "name":"dev",
  "memo":"开发"  
}

返回参数

参数名称 类型 说明
id Long 环境ID

返回样例

{
  "status":0,
  "msg":"success",
  "data":1
}

13. 新增版本

描述

新增版本

请求类型

POST

请求URL

/api/versionAdd

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
environmentId Long body Y 环境ID
name String body Y 版本名称
memo String body N 版本简介

请求示例

{
  "environmentId":50,
  "name":"1.0",
  "memo":"1.0版本"  
}

返回参数

参数名称 类型 说明
id Long 版本ID

返回样例

{
  "status":0,
  "msg":"success",
  "data":1
}

14. 新增分组

描述

新增分组

请求类型

POST

请求URL

/api/groupAdd

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long body Y 版本ID
name String body Y 分组名称
memo String body N 分组简介

请求示例

{
  "versionId":63,
  "name":"g1",
  "memo":"简介"  
}

返回参数

参数名称 类型 说明
id Long 分组ID

返回样例

{
  "status":0,
  "msg":"success",
  "data":1
}

15. 新增配置项

描述

新增配置项

请求类型

POST

请求URL

/api/itemAdd

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long body Y 版本ID
groupId Long body Y 分组ID
key String body Y 配置项名称
value String body Y 配置项值
memo String body N 配置项简介

请求示例

{
  "versionId":63,
  "groupId":12,
  "key":"a",
  "value":"ssss",
  "memo":"简介"  
}

返回参数

参数名称 类型 说明
id Long 配置项ID

返回样例

{
  "status":0,
  "msg":"success",
  "data":1
}

16. 修改配置项

描述

修改配置项

请求类型

POST

请求URL

/api/itemEdit

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long body Y 版本ID
key String body Y 配置项名称
value String body N 配置项值
memo String body N 配置项简介

请求示例

{
  "versionId":63,
  "key":"a",
  "value":"ssss",
  "memo":"简介"  
}

返回参数

参数名称 类型 说明
cnt Long 影响行数

返回样例

{
  "status":0,
  "msg":"success",
  "data":2
}

17. 删除配置项

描述

删除配置项

请求类型

POST

请求URL

/api/itemDelete

请求参数(query string)

参数名称 类型 方式 必填 说明
token String query Y api token
versionId Long body Y 版本ID
key String body Y 配置项名称

请求示例

{
  "versionId":63,
  "key":"a"
}

返回参数

参数名称 类型 说明
cnt Long 影响行数

返回样例

{
  "status":0,
  "msg":"success",
  "data":1
}

18. 批量修改配置项

描述

批量修改配置项

请求类型

POST

请求URL

/api/batchSave

请求参数(query string)

参数名称 类型 方式 必填 说明

token | String | query | Y | api token versionId | Long | body | Y | 版本ID groupId | Long | body | Y | 分组ID items | List<Object> | body | N | 配置项列表 items[i].name | String | body | Y | 配置项名称 items[i].memo | String | body | N | 配置项简介 items[i].val | String | body | N | 配置项值

请求示例

{
  "versionId":3,
  "groupId":60,
  "items":[
    {
      "name":"test",
      "val":"123"
  }
    ]  
}

返回参数

参数名称 类型 说明
cnt Long 影响行数

返回样例

{
  "status":0,
  "msg":"success",
  "data":1
}

19. 推送变更

描述

推送配置项变更

请求类型

POST

请求URL

/api/version/pushChange

请求参数(query string)

参数名称 类型 方式 必填 说明

token | String | query | Y | api token versionId | Long | query | Y | 版本ID

请求示例

curl --request POST -sL \
     --url 'http://ip:port/api/version/pushChange?token=03ecc4c8910b926f8fe1f0948&versionId=3'

返回参数

参数名称 类型 说明
cnt Long 影响行数

返回样例

{
  "status":0,
  "msg":"success",
  "data":1
}