2017-04-03

golangでgaroonのCLIツールgoroonを作ってみた

Garoonのスケジュール通知がmacOSではデフォルトで付いていなかったりして個人的に不便だったので、garoonのCLIツールをgolangで作ってみました。

tzmfreedom/goroon: Cybozu garoon library and command line interface by golang

使い方

macOSの場合はhomebrewでインストール可能です
$ brew tap tzmfreedom/goroon
$ brew install goroon

goroonには現時点で3つのサブコマンドがあります

ログイン

loginはその名の通り、garoonに対してログインのAPIを叩いてSessionIDを取得するAPIです。これを叩かなくても他のサブコマンドでクレデンシャルをオプション引数に入力してログインすることも出来るのですが、loginを予め叩いておくとSessionIDを保存してくれるので、scheduleやbulletinでクレデンシャルを叩かなくても良くなります。

以下のように叩けばOKです。

$ goroon login -u {USERNAME} -p {PASSWORD} -e {ENDPOINT}

ENDPOINTはgaroonのエンドポイントベースURIで、grn.exeやgrn.cgiのパスまで入力します。このコマンドを叩くとendpointやログインによって取得したSessionIDをホームディレクトリの.goroonファイルに保存するため、以降のクレデンシャル入力は不要になります。

スケジュール

自分のスケジュールを日時を指定して取得する場合は以下のようにしてコマンドを叩けばOKです。
$ goroon schedule --start "{yyyy-MM-dd HH:mm:ss}" --end "{yyyy-MM-dd HH:mm:ss}"

今日のスケジュールを取得したい場合は引数無しでscheduleコマンドを叩きます。

$ goroon schedule

他のユーザのスケジュールも取得可能です。

$ goroon schedule --userid {USER_ID}

掲示板

掲示板のフォローコメントを取得したい場合はbulletinサブコマンドを叩きます。
$ gorooon bulletin --topic_id {TOPIC_ID}

デフォルトは最新20件なので、20件以上取得したい場合や、オフセットを変更したい場合は -o {OFFSET}-l {LIMIT}のオプションを追加すればOKです。

実装について

参考URL

このエントリーをはてなブックマークに追加