Confluence提供了标准的RestAPI,应用程序的开发者使用这些API可以将Confluence的部分功能集成到他们的应用程序中,而负责管理Confluence服务器的管理员也可用利用这些RestAPI将那些交互式的操作进行脚本化从而自动化提高效率。这篇文章将会介绍Confluence的RestAPI有哪些功能。
版本
本文介绍和演示用的Confluence的版本信息如下:
项目 |
版本信息 |
Confluence试用版 |
6.3.3 |
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