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