Confluence集成实践 2 Confluence的RestAPI

2021-06-19 01:07

阅读:465

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


评论


亲,登录后才可以留言!