最近收到一个需求,要把Metabase里所有宽表的字段注释写入到Wiki(我们的Wiki是Confluence搭建的),以方便查找。近期经济不好,公司人员变动也比较大,辛苦了新来的同学们,确实不知道从哪查字段意义。但是Metabase所有表加起来有近千个字段了,写Wiki要耗费大量时间,并且以后每次修改还要维护,想想就头大,于是想着改成全都自动化地来处理这个事情,先看一下最后的效果:
每天早上7点自动跑一遍,已经完全满足需求了。下面说一下具体实现:
1. 创建一篇文章,注意标题要有汉字,不然pageId出不来。文章创建好之后,后面只做修改就可以。
2. 在shell里获取到现有内容,并写入到文件content.json,实际目的是获取到版本号VersionID。在目录的stash.sh文件。
因为Confluence调用接口修改的话,要传VersionID的,并且只能在现有的VersionID上加1,所以必须要得到版本号。
#获取到文章内容
getjson=`curl -u yourusername:yourpassword http://192.168.1.1:8090/rest/api/content/14123063`
content=${getjson}
#把内容写入到文件
echo "$content" > content.json
文章内容写入到文件是为了方便后面处理,shell解析Json毕竟不擅长。
3. 在Java中解析文件content.json,并获致到VersionID。在代码的JsonUtil文件
/**
* 加过之后的Version
* @return
*/
public static String getVersion( ) {
String content = getContent();
String jsonStr = content.replace("\\", "");
JSONObject jsonObject