※これは Atlassian Advent Calendar 2012 #augj の5日目の記事です。
こんにちはこんばんは @mtgto です。遅刻しました。ごめんなさい。
Confluence、便利です。個人的に便利だと思っているのはこんなところ。
- 誰が書いたかを含む編集履歴が残る
- WYSIWYGなのでWiki記法詳しくない人でも書ける
- ページのURLが固定なのであとでタイトルや階層を変更しても問題ない
大変便利なのですがログインが必須だったりするせいでプログラムからページの編集をするにはちょっと大変だったりします。
本日はそんな人にぴったりなConfluence APIのご紹介です。
Confluence APIにはRESTとXML-RPC、SOAPがあります。
XML-RPCとSOAPはプロトコルの違いだけでできることは同じです。
RESTはまだプロトタイプらしく、情報取得系(ページデータ、検索結果など)しかありません。
でもXML-RPCやSOAPは「ちょっと遊んでみよう」という人には結構敷居が高く感じるのではないでしょうか。
ですがこれをご覧のScalaプログラマの方には上記のAPIに加えまして、こちら!
なんとScalaから簡単に(※個人差があります)
- スペース一覧の取得
- スペース内のページ一覧の取得
- ページの作成
- ページの移動
を行うことができるんです!(ただの宣伝でした)
私の普段の使い所としては毎日のMTGの議事録ページを生成するのに使っています。
(イメージ)
12:34 (mtgto) 明日の定例ページ作って
12:34 (irc_bot) 2012/12/07 の定例ページを作成しました
12:34 (irc_bot) http://localhost:2990/pages/viewpage.action?pageId=123456
あとは定例ページが一ヶ月分溜まったらまとめる機能もつけました。
12:34 (mtgto) 11月の日例まとめて
12:34 (irc_bot) 2012/11 の日例ページをまとめました
それまでは毎日人がテンプレページをコピーして、タイトルを日付に変えてやっていたので地味に大変だったのでほぼ自動化されて満足しています。
ConfluenceのAPIはとっつきにくいですが、せっかく便利なツールなのでぜひ試してみてはいかがでしょうか?
明日は(今日になっちゃいましたが)@taichiw0424さんです。