API V3到API V4
自GitLab 9.0以来,API V4是首选的版本。
将于2017年8月22日发布的GitLab 9.5将不支持API V3。它将在GitLab 9.5或更高版本中被删除。同时,我们建议您对使用V3的应用程序进行必要的更改。V3 API文档仍然是可用。
下面是V3和V4之间所做的更改。
8.17
- 删除
/项目/:搜索
(使用:GET /项目?搜索= x
)8877年! iid
过滤器已从/项目/:id /问题
8967年!得到/项目/:id / merge_requests ?iid [] = x&iid [] = y
数组筛选器已重命名为iid
8793年!- 下端点
/项目/ merge_request /: id
已被删除(使用:/项目/ merge_requests /: id
)8793年! - 项目代码段不返回弃用字段
expires_at
8723年! - 下端点
/项目/:id /钥匙
已被删除(使用?得到/项目/:id / deploy_keys
)8716年!
9.0
- 状态409返回
POST /项目/:id /成员
当成员已经存在时9093年! - 移动
删除/项目/:id /明星
来POST /项目/:id / unstar
9328年! - 删除了以下已弃用的模板端点(这些端点仍然可以使用
/模板
前缀)8853年!/许可证
/ /许可证:关键
/ gitignores
/ gitlab_ci_ymls
/ dockerfiles
/ gitignores:关键
/ gitlab_ci_ymls:关键
/ dockerfiles:关键
- 移动
POST /项目/叉/:id
来POST /项目/:id /叉
8940年! - 移动
删除/行动计划
来POST /待办事项/ mark_as_done
和删除/待办事项:todo_id
来POST /待办事项:todo_id / mark_as_done
9410年! - 项目筛选器不再作为
得到/项目/ foo
,但作为GET /项目?foo = true
而不是8962年!得到/项目/可见
&得到/项目/
都被合并成GET /项目
可以授权使用,也可以未经授权使用得到/项目/所有
搬到GET /项目?拥有= true
得到/项目/主演
搬到GET /项目?主演= true
GET /项目
返回当前用户可见的所有项目,即使该用户不是成员9674年!- 要获取用户所属的项目,请使用
GET /项目?会员= true
- 要获取用户所属的项目,请使用
- 返回返回数组的所有端点的分页头8606年!
- 添加
POST /环境/:environment_id /停止
停止一个环境8808年! - 删除
删除/项目/ id / deploy_keys: key_id /禁用
。使用删除/项目/:id / deploy_keys: key_id
而不是9366年! - 移动
把/用户/:id /(块|开启)
来POST /用户/:id /(块|开启)
9371年! - 使订阅API更RESTful。使用
POST /项目/ id /: subscribable_type /: subscribable_id /订阅
订阅及POST /项目/ id /: subscribable_type /: subscribable_id /退订
取消订阅某一资源。9325年! - 标签过滤器
/项目/:id /问题
和GET /问题
现在只匹配包含所有标签的问题(即:逻辑与,而不是或)8849年! - 重命名参数
branch_name
来分支
在以下端点上8936年!POST /项目/:id /仓库/分支机构
POST /项目/:id /仓库/提交
POST / PUT /删除:id /仓库/文件
- 改名为
merge_when_build_succeeds
参数merge_when_pipeline_succeeds
在以下端点上:9335年!/项目/:id / merge_requests: merge_request_id /合并
POST /项目/ id / merge_requests: merge_request_id / cancel_merge_when_pipeline_succeeds
POST /项目
POST /项目/ user /: user_id
/项目/:id
- 重命名
branch_name
来分支
在删除/项目/:id /仓库/分支:分支
响应8936年! - 删除
公共
从项目的创建和编辑操作中获取参数8736年! - 删除
订阅
字段,返回问题列表或合并请求的响应。获取单个问题或合并请求以获取的值订阅
9661年! - 使用
可见性
到处都是字符串参数9337年! - 注释不返回弃用字段
upvote
和downvote
9384年! - 返回HTTP状态码
400
用于创建或更新成员时的所有验证错误,而不是有时422
错误。9523年! - 删除
得到/组/所有
。使用/组吗?拥有= true
而不是9505年! - 在V4 API上异步删除返回带有JSON主体的202 (
删除/项目/:/仓库/ merged_branches id
和删除/项目/:id
)9449年! 得到/项目/:id /里程碑?iid [] = x&iid [] = y
数组筛选器已重命名为iid
9096年!- 返回管道的基本信息
/项目/:id /管道
8875年! - 重命名所有
构建
引用工作
9463年! - 下降
/项目/:id /仓库/提交/:沙/工作
9463年! - 将构建触发器重命名为管道触发器API9713年!
POST /项目/:id /触发/构建
来POST /项目/:id /触发/管道
- 创建新触发器时需要描述
POST /项目/:id /触发器
- 简化在环境端点上公开的项目有效负载9675年!
- API使用合并请求
IID
s(内部ID,如web UI)而不是ID
这影响了合并请求、奖励表情符号、待办事项和时间跟踪api。9530年! - API使用问题
IID
s(内部ID,如web UI)而不是ID
这影响了问题、奖励表情符号、待办事项和时间跟踪api。9530年! - 更改初始页面
0
来1
在得到/项目/:id /仓库/提交
(就像API的其他部分一样)9679年! - 返回正确
链接
报头数据得到/项目/:id /仓库/提交
9679年! - 更新存储库文件的端点9637年!
- 移动
得到/项目/:id /仓库/文件?file_path =: file_path
来/项目/:id /仓库/文件/:file_path
(: file_path
应该是url编码) /项目/:id /仓库/团/:沙
返回由标识的blob的JSON属性:沙
,而不是查找由标识的提交:沙
并返回该提交中由所需元素标识的blob的原始内容? filepath =: filepath
- 移动
/项目/:id /仓库/提交/:沙/团吗?file_path =: file_path
和/项目/:id /仓库/团/:沙?file_path =: file_path
来/项目/:id /仓库/文件/:file_path /生吗?ref =:沙
得到/项目/:id /仓库/树
参数ref_name
已重命名为裁判
为了保持一致性
- 移动
确认
参数POST /用户
已经被弃用了skip_confirmation
参数