Confluence集成实践:2:Confluence的RestAPI

来源:互联网 发布:fs2you mac 编辑:程序博客网 时间:2024/06/05 23:00

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