创建项目
名称 |
类型 |
是否必须 |
描述 |
projectName |
string |
是 |
当前创建的项目名称 |
operator |
string |
是 |
操作用户 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
1000 |
返回码 |
errMsg |
string |
"" |
接口返回信息 |
content |
object |
"" |
数据结果 |
curl -X POST "http://HOST/api/project/new " \
-H "Content-type: application/json" \
-d '{"projectName":"myweb","operator":"root"}'
正常返回结果:
{
"code": 10000,
"errMsg": "ok",
"content": "",
}
异常返回结果:
{
"code": 10006,
"errMsg": "parameter invalid",
"content": -1,
}
{
"code": 10100,
"errMsg": "server internal error",
"content": -1,
}
返回码 |
状态 |
描述 |
10000 |
执行成功 |
|
10006 |
执行失败 |
参数非法,参数传入有误 |
10100 |
执行失败 |
接口内部出错 |
删除项目
名称 |
类型 |
是否必须 |
描述 |
projectName |
string |
是 |
项目名称 |
operator |
string |
是 |
创建用户 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
0 |
返回码 |
errMsg |
strng |
"sucess" |
接口返回信息 |
content |
string |
|
数据结果 |
curl -X POST 'http://HOST/api/project/delete' \
-H "Content-type: application/json" \
-d '{"projectName":"myweb","operator":"root"}'
正常响应结果
{
"code": 10000,
"errmsg": "ok",
"content": "",
}
异常响应结果
{
"code": 10006,
"errmsg": "parameter invalid",
"content": -1,
}
返回码 |
状态 |
描述 |
10000 |
执行成功 |
|
10006 |
执行失败 |
参数不合法,详细信息请查看返回结果的msg字段 |
10100 |
执行失败 |
接口内部出错 |
项目克隆
名称 |
类型 |
是否必须 |
描述 |
srcProjectName |
string |
是 |
克隆源项目名称 |
dstProjectName |
string |
是 |
克隆项目名称 |
operator |
string |
是 |
操作者 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
10000 |
返回码 |
errMsg |
strng |
"" |
接口返回信息 |
content |
object |
|
|
curl -X POST 'http://HOST/api/project/clone ' \
-H "Content-type: application/json" \
-d '{"srcProjectName":"source",
"dstProjectName":"target",
"operator": "root"}'
正常响应结果
{
"code": 10000,
"errMsg": "success",
"content": "",
}
异常响应结果
{
"code": 10006,
"msg": "parameter invalid",
"content": -1,
}
{
"code": 10003,
"msg": "project to delete not exist",
"content": -1,
}
{
"code": 10002,
"msg": "src project not exist",
"content": -1,
}
返回码 |
状态 |
描述 |
10000 |
执行成功 |
|
10006 |
执行失败 |
参数非法,参数传入有误 |
10100 |
执行失败 |
接口内部出错 |
10002 |
执行失败 |
克隆源项目不存在 |
10003 |
执行失败 |
项目删除时,项目不存在 |
获取项目详情
名称 |
类型 |
示例值 |
描述 |
projectName |
string |
是 |
项目名称 |
operator |
string |
是 |
创建用户 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
10000 |
返回码 |
errMsg |
strng |
"sucess" |
接口返回信息 |
content |
object |
null |
|
content参数
名称 |
类型 |
示例值 |
描述 |
creator |
int |
0 |
项目创建者 |
name |
strng |
|
项目名称 |
createTime |
string |
|
项目创建时间 |
lastModifyTime |
string |
|
最近修改时间 |
lastModifyOperator |
string |
|
最近修改用户 |
Cluster |
string |
|
集群 |
DefineDockerFileType |
string |
|
定义的DockerFile类型 |
curl -X GET 'http://$HOST/api/project/info' \
-H "Content-type: application/json"
正常响应结果
{
"code": 10000,
"errMsg": "success",
"data": "",
}
异常响应结果
{
"code": 10008,
"errMsg": "Project: xxx to query info not exist",
"data": null,
}
返回码 |
状态 |
描述 |
0 |
执行成功 |
|
10008 |
执行失败 |
项目不存在 |
10006 |
执行失败 |
参数非法,参数传入有误 |
10100 |
执行失败 |
接口内部出错 |
获取项目列表
名称 |
类型 |
是否必须 |
描述 |
projectName |
int |
是 |
项目名称 |
page |
int |
是 |
页码 |
page_size |
int |
是 |
当前页大小 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
10000 |
返回码 |
errMsg |
strng |
"" |
接口返回信息 |
content |
object |
|
返回结果 |
page |
int |
|
当前页,从1开始,默认为1 |
page_size |
int |
|
当前页大小,默认为10 |
total_count |
int |
|
结果总数 |
data参数
名称 |
类型 |
示例值 |
描述 |
creator |
string |
|
创建者 |
name |
strng |
|
项目名称 |
createTime |
string |
|
创建时间 |
lastModifyTime |
string |
|
最后一次修改时间 |
lastModifyOperator |
string |
|
最后一次修改者 |
Cluster |
string |
|
隶属镜像集群 |
DefineDockerFileType |
string |
|
dockerfile定义类型 |
curl
-H "Content-type: application/json" \
-X POST 'http://$HOST/api/project/list'
正常响应结果
{
"code": 10000,
"errMsg": "success",
"content": "",
}
异常响应结果
{
"code": 10006,
"msg": "parameter invalid",
"content": -1,
}
返回码 |
状态 |
描述 |
10000 |
执行成功 |
|
10006 |
执行失败 |
参数非法,参数传入有误 |
保存项目
名称 |
类型 |
是否必须 |
描述 |
project |
string |
是 |
项目名称 |
Cluster |
string |
是 |
隶属镜像集群 |
DefineDockerFileType |
string |
是 |
dockerfile类型 |
addOrUpdate |
string |
是 |
操作用户 |
$$plugin |
array |
是 |
项目所用插件 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
10000 |
返回码 |
errMsg |
strng |
"" |
接口返回信息 |
content |
object |
|
返回结果 |
curl
-H "Content-type: application/json" \
-X POST 'http://HOST/api/project/save' \
-d "{
project:"aa"
Cluster:"default"
DefineDockerFileType:"define"
addOrUpdate:"add"
$$plugin:[{
}]
}"
正常响应结果
{
"code": 10000,
"errMsg": "success",
"content": "",
}
异常响应结果
{
"code": 10006,
"errMsg": "project already exist",
"content": "project: aaa already exist ""
}
{
"code": 10001,
"errMsg": "parameter invalid",
"content": "projectName contains special char: *"
}
{
"code": 10100,
"errMsg": "server internal error",
"content": ""
}
返回码 |
状态 |
描述 |
10000 |
执行成功 |
|
10006 |
执行失败 |
参数非法,项目已存在不能添加 |
10100 |
执行失败 |
接口内部出错 |
构建项目
名称 |
类型 |
示例值 |
描述 |
projectName |
string |
是 |
项目名称 |
operator |
string |
是 |
创建者 |
tag |
string |
是 |
镜像版本 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
10000 |
返回码 |
errmsg |
strng |
"sucess" |
接口返回信息 |
content |
object |
null |
返回结果 |
content参数
名称 |
类型 |
示例值 |
描述 |
idStr |
string |
0 |
id |
curl -X POST 'http://$HOST/api/project/build' \
-H "Content-type: application/json"
正常响应结果
{
"code": 10000,
"msg": "success",
"data": "",
}
异常响应结果
{
"code": 10008,
"msg": "Project: xxx to query info not exist",
"data": null,
}
返回码 |
状态 |
描述 |
0 |
执行成功 |
|
10007 |
执行失败 |
构建项目不存在 |
10006 |
执行失败 |
参数非法,参数传入有误 |
10100 |
执行失败 |
接口内部出错 |
获取项目构建结果
名称 |
类型 |
是否必须 |
描述 |
projectName |
string |
是 |
项目名称 |
operator |
string |
是 |
操作者 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
10000 |
返回码 |
errMsg |
string |
"" |
接口返回信息 |
content |
object |
|
|
curl
-H "Content-type: application/json" \
-X POST 'http://HOST/api/project/buildHistory?projectName=myweb&operator=admin'
正常响应结果
{
"code": 10000,
"errMsg": "success",
"content": "",
}
异常响应结果
{
"code": 10006,
"errMsg": "project already exist",
"content": "project: aaa already exist ",
}
{
"code": 10001,
"errMsg": "parameter invalid",
"content": "projectName contains special char: *",
}
{
"code": 10100,
"errMsg": "server internal error",
"content": "",
}
返回码 |
状态 |
描述 |
10000 |
执行成功 |
|
10006 |
执行失败 |
参数非法,项目已存在不能添加 |
10100 |
执行失败 |
接口内部出错 |
插件扩展接口
名称 |
类型 |
是否必须 |
描述 |
plugin |
string |
是 |
|
method |
string |
是 |
操作者 |
名称 |
类型 |
示例值 |
描述 |
code |
int |
10000 |
返回码 |
errMsg |
strng |
"" |
接口返回信息 |
content |
object |
|
|
curl -H "Content-type: application/json" \
-X POST 'http://HOST/api/plugin/extension/interface' \
-d 'plugin="aa"' \
-d 'method="download file"' \
-d '{
}'
正常响应结果
{
"code": 10000,
"errMsg": "ok",
"content": null
}
异常响应结果
{
"code": 10004,
"errMsg": "param error",
"content": {},
}
{
"code": 10100,
"errMsg": "server internal error",
"content": {},
}
返回码 |
状态 |
描述 |
10000 |
执行成功 |
|
10004 |
执行失败 |
参数非法 |
10100 |
执行失败 |
接口内部出错 |
获取项目构建镜像配置信息
名称 |
类型 |
是否必须 |
描述 |
projectName |
string |
是 |
项目名称 |
名称 |
类型 |
示例值 |
描述data |
data |
string |
|
返回配置页面HTML |
curl
-H "Content-type: application/json" \
-X GET 'http://HOST/view/config/independent'
正常响应结果
{
"data":"<html>....</html>"
}
该部分调用Harbor镜像存储接口,默认用户名admin,密码为Harbor12345
获取项目集群列表
名称 |
类型 |
是否必须 |
描述 |
page |
string |
否 |
当前页 |
pagesize |
string |
否 |
当前页大小 |
project_name |
string |
是 |
为空字符串表示全部 |
名称 |
类型 |
示例值 |
描述data |
data |
object |
|
返回项目列表 |
curl
-H "Content-type: application/json" \
-X GET 'http://HarborHOST/projects?page=1&page_size=10&project_name=yweb'
正常响应结果
[{
"Togglable":true,
"creation_time":"2017-07-26T08:37:13Z",
"creation_time_str":"",
"current_user_role_id":1,
"deleted":0,
"name":"base",
"owner_id":1,
"owner_name":"",
"project_id":3,
"public":1,
"repo_count":0,
"update_time":"2017-07-26T08:37:13Z"
},
]
获取镜像列表
名称 |
类型 |
是否必须 |
描述 |
page |
string |
是 |
项目名称 |
page_size |
string |
是 |
项目名称 |
project_id |
string |
是 |
项目名称 |
q |
string |
是 |
项目名称 |
名称 |
类型 |
示例值 |
描述data |
data |
array |
|
返回镜像结果 |
curl
-H "Content-type: application/json" \
-X GET 'http://HOST/repositories?page=1&page_size=10&project_id=1&q='
正常响应结果
[{
"name": "default_cluster/myweb"
}]
获取镜像标签列表
名称 |
类型 |
是否必须 |
描述 |
page |
int |
是 |
项目名称 |
pagesize |
int |
是 |
项目名称 |
repo_name |
string |
是 |
项目名称 |
名称 |
类型 |
示例值 |
描述data |
data |
array |
|
返回镜像结果 |
curl
-H "Content-type: application/json" \
-X POST 'http://HOST/repositories/tags?page=1&page_size=10&project_id=1&repo_name=abc'
正常响应结果
[{
"name": "1.0"
},
{
"name": "1.2"
}]
获取镜像详细信息
名称 |
类型 |
是否必须 |
描述 |
repo_name |
string |
是 |
项目名称 |
tag |
string |
是 |
镜像标签 |
名称 |
类型 |
示例值 |
描述data |
data |
string |
|
返回配置页面HTML |
curl
-H "Content-type: application/json" \
-X POST 'http://HOST/repositories/manifests?repo_name=myweb&tag=1.1'
正常响应结果
{
"config":"{...}",
"manifest":{}
}
删除镜像标签
名称 |
类型 |
是否必须 |
描述 |
repoName |
string |
是 |
标签 |
projectName |
string |
是 |
项目名称 |
名称 |
类型 |
示例值 |
描述data |
code |
int |
|
返回码 |
msg |
string |
|
返回信息 |
curl
-H "Content-type: application/json" \
-X POST 'http://HOST/repositories' \
-d 'method=DELETE' \
-d '{"repoName":"1.1","projectName":"myweb"}'
正常响应结果