Confluence提供了标准的RestAPI,应用程序的开发者使用这些API可以将Confluence的部分功能集成到他们的应用程序中,而负责管理Confluence服务器的管理员也可用利用这些RestAPI将那些交互式的操作进行脚本化从而自动化提高效率。这篇文章将会介绍Confluence的RestAPI有哪些功能。
版本
本文介绍和演示用的Confluence的版本信息如下:
Confluence的RestAPI特点
Confluence提供了标准的RestAPI,通过URI进行操作,Response的格式是JSON,操作则是HTTP的标准操作诸如:GET/PUT/POST/DELETE。
另外REST API基于开放的标准,所以基本上可以使用任何开发语言去使用这些API。
Confluence REST API
空间管理
空间操作
项目 | HTTP方法 | REST API |
---|
获取所有的空间信息 | GET | /rest/space |
创建空间 | POST | /rest/space |
创建私有空间 | POST | /rest/space/_private |
更新空间信息 | PUT | /rest/space/{spaceKey} |
删除空间 | DELETE | /rest/space/{spaceKey} |
获取某一空间信息 | GET | /rest/space/{spaceKey} |
获取空间下的内容信息 | GET | /rest/space/{spaceKey}/content |
获取空间下的内容信息类型 | GET | /rest/space/{spaceKey}/content/{type} |
属性操作
项目 | HTTP方法 | REST API |
---|
获取某一空间所有属性 | GET | /rest/space/{spaceKey}/property |
创建某一空间属性 | POST | /rest/space/{spaceKey}/property |
按key获取某一空间属性信息 | GET | /rest/space/{spaceKey}/property/{key} |
更新某一空间属性信息 | PUT | /rest/space/{spaceKey}/property/{key} |
删除某一空间属性 | DELETE | /rest/space/{spaceKey}/property/{key} |
创建某一空间属性信息 | POST | /rest/space/{spaceKey}/property/{key} |
用户操作
项目 | HTTP方法 | REST API |
---|
获取所有用户信息 | GET | /rest/user |
获取匿名用户信息 | GET | /rest/user/anonymous |
获取当前用户信息 | GET | /rest/user/current |
获取用户组信息 | GET | /rest/user/memberof |
用户组操作
项目 | HTTP方法 | REST API |
---|
获取所有用户组信息 | GET | /rest/group |
获取某一用户组信息 | group | GET |
获取某一用户组成员信息 | members | GET |
内容(content)管理
内容操作
项目 | HTTP方法 | REST API |
---|
创建content | POST | /rest/content |
获取content信息 | GET | /rest/content |
更新内容信息 | PUT | /rest/content/{contentId} |
按内容id获取内容信息 | GET | /rest/content/{id} |
删除content | DELETE | /rest/content/{id} |
获取content历史信息 | GET | /rest/content/{id}/history |
使用hash获取宏内容 | GET | /rest/content/{id}/history/{version}/macro/hash/{hash} |
使用宏id获取宏内容 | GET | /rest/content/{id}/history/{version}/macro/id/{macroId} |
查询内容信息 | GET | /rest/content/search |
child操作
项目 | HTTP方法 | REST API |
---|
获取内容下child相关信息 | GET | /rest/content/{id}/child |
获取child类型信息 | GET | /rest/content/{id}/child/{type} |
获取child相关注释信息 | GET | /rest/content/{id}/child/comment |
附件操作
项目 | HTTP方法 | REST API |
---|
创建附件 | POST | /rest/content/{id}/child/attachment |
获取附件 | GET | /rest/content/{id}/child/attachment |
更新附件 | PUT | /rest/content/{id}/child/attachment/{attachmentId} |
更新附件数据 | POST | /rest/content/{id}/child/attachment/{attachmentId}/data |
派生操作
项目 | HTTP方法 | REST API |
---|
获取内容派生信息 | GET | /rest/content/{id}/descendant |
获取内容派生类型 | GET | /rest/content/{id}/descendant/{type} |
标签操作
项目 | HTTP方法 | REST API |
---|
获取某一内容下所有标签信息 | GET | /rest/content/{id}/label |
添加标签 | POST | /rest/content/{id}/label |
删除某一内容的标签 | DELETE | /rest/content/{id}/label |
删除某一标签 | DELETE | /rest/content/{id}/label/{label} |
属性操作
项目 | HTTP方法 | REST API |
---|
获取某一内容的所有属性 | GET | /rest/content/{id}/property |
创建属性 | POST | /rest/content/{id}/property |
获取某一属性信息 | GET | /rest/content/{id}/property/{key} |
更新属性信息 | PUT | /rest/content/{id}/property/{key} |
删除属性 | DELETE | /rest/content/{id}/property/{key} |
创建某一特定属性 | POST | /rest/content/{id}/property/{key} |
限制操作
项目 | HTTP方法 | REST API |
---|
获取某一操作相关的所有限制 | GET | /rest/content/{id}/restriction/byOperation |
获取某一操作所需的所有限制 | GET | /rest/content/{id}/restriction/byOperation/{operationKey} |
blueprint操作
项目 | HTTP方法 | REST API |
---|
发布legacy draft | POST | /rest/content/blueprint/instance/{draftId} |
发布shared draft | PUT | /rest/content/blueprint/instance/{draftId} |
转换操作
项目 | HTTP方法 | REST API |
---|
Convert | POST | /rest/contentbody/convert/{to} |
查询操作
项目 | HTTP方法 | REST API |
---|
使用CQL进行查询 | GET | /rest/search |
审核操作
项目 | HTTP方法 | REST API |
---|
获取所有audit信息 | GET | /rest/audit |
存储相关记录 | POST | /rest/audit |
导出所有信息 | GET | /rest/audit/export |
获取retention信息 | GET | /rest/audit/retention |
设定retention信息 | PUT | /rest/audit/retention |
获取某一时间后的所有audit信息 | GET | /rest/audit/since |
longtask
提供对于Confluence的longtask的查询相关的API接口。
项目 | HTTP方法 | REST API |
---|
获取所有的longtask信息 | GET | /rest/longtask |
获取某一longtask信息 | GET | /rest/longtask/{id} |
参考文章
https://docs.atlassian.com/atlassian-confluence/REST/latest-server/#space-createSpace
https://developer.atlassian.com/confdev/confluence-server-rest-api/confluence-rest-api-examples