Confluenceって、あれやこれややろうとすると、マーケットプレイスのお高い有料アドオンを購入する必要があったりします。
どれもこれも結構するので、これを入れて欲しい!あれを入れて欲しい!と要望を出しても、金がかかるからだめ・・みたいに言われちゃうこと結構あるんですよね。
ということで、REST APIを使って、あれやこれやできないか の模索です。
そのうち、ツール化みたいにできた方がいいなと思っているんだけど、そういうところに手を出す前の調べもの段階。
Confluence REST API
公式のREST APIはこことか。
curlのでGETしてくる時のREST APIの情報が書かれています。
confluenceというか、アトラシアンには、Cloudサービスもあるんですけど、それとまた使い方が違うっぽい?から使う時は、SERVERなのか、CLOUDなのかとか注意して使う必要がありそうです。
REST API EXAMPLE
ここに例文が色々載っていました。
色々はしょるとこう。
curl -u admin:admin \
http://localhost:8080/confluence/rest/api/content/scan?limit=2 | python -mjson.tool
ただ、python通すとなんだか文字ばけしたりして使いづらかった。
設定の問題だと思うけど。
jqでとってくるのもできる。
curl -u admin:admin \
http://localhost:8080/confluence/rest/api/content/scan?limit=2 | jq .
ちなに、JIRAで検索する時はJQLっていうけど、ConfluenceだとCQLっていうんだって。
知らなかった。
cqlを通じて簡単にpageIDから検索することも可能。
ユーザーIDとパスワードでアクセスしてるけど、トークン使ってのアクセスをすることも可能。
curl -u admin:admin \
http://localhost:8080/confluence/rest/api/content/scan?limit=1&cql=id=11111 | jq .
こうすれば、一意のpageIDでlimit1個の情報が取れる。
こっから、jq使って、title抽出するとか、色々することが可能。
なお、会社でconfluence/jira使っているからやってみたら最初取ることができなかった。
色々試したところ、VPN接続しないとcurlが使えないということがわかった。
browser通してだと、jira/confluenceアクセスできるからちょっと盲点だった。