confluence开放RestAPI的灵活使用和集成
confluence提供了开放的REST API,可以使用REST API与Confluence实体(例如页面和博客文章,空间,用户,组等)进行交互。传送门Confluence Cloud REST API
本文主要会针对Confluence Cloud REST API中的开放接口进行简要的介绍,并以创建confluence页面为例子描述如何使用其开放的RestAPI
一、接口简要介绍
扫了一眼接口文档,开放的接口实在太多了,就随便挑几个列出来,其他的去官方文档自取吧。。
1.获取空间
GET / wiki / rest / api / space
header :Accept: application/json
2.创建空间
POST /wiki/rest/api/space
BODY PARAMETERS
key REQUIRED string
name REQUIRED string
description
permissions
3.获取页面内容
GET /wiki/rest/api/content
header :Accept: application/json
4.通过页面ID获取页面
GET /wiki/rest/api/content/{id}
header :Accept: application/json
5.创建页面
POST /wiki/rest/api/content
BODY PARAMETERS
略,自己看
【不想写了,晚点补充】
2.RESTAPI使用示例
以创建一个confluence为例来介绍如何使用该API,此次示例基于jmeter(postman也可以,用法同理)
1、用户认证
直接使用RESTAPI的时候需要进行身份认证,方法和JIRA一样,说明书在此身份验证方法
步骤如下:
- 首先你要有一个能登录的confluence账号,有账号名和密码
- 构建一个字符串,规则为username:password。
如我的账号名为huangxiaogua,密码为123456,即构建字符串huangxiaogua:123456 - 将此字符串进行Base64加密
- 在此加密字符串前加Basic,构成“Basic xxxxxxxxx”,填入信息头中,信息头名称为Authorization,如下图
2、设置请求体
API中创建内容的URL为https://your-domain.atlassian.net/wiki/rest/api/content
在这里经过调试发现了一个坑,填URI的时候路径带了/wiki,怎么都跑不通,后来看了别人的教程,别人的教程里面URI里不带/wiki,于是我也去掉后再次调试,就能调通了。
因此请求体用下图一次性说明,post body具体怎么填详见API,有需求来看我文章的人肯定能看懂API了
对几个字段进行说明:
1、host:填你目前使用的confluence的域名
2、内容编码:title如果是有中文,一定要填入utf-8。填在头里也可以
3、id:id为自己定义的一串数字,长度为8,经过测试发现,并没有什么卵用,confluence会自己生成id
4、ancestors内的id:重要,是你创建的页面的父页面的id
5、value:填的是你要创建的页面的html编码标签,如果要创建一个带表格的页面,就要写成图里这样
6、key空间的key,可以从空间管理中找到,空间管理中的“标识”字段
按照以上方法,请求接口就可以在confluence上看到创建的页面了
出来的页面:
confluence结果