普段、各自が作業してる時とか今やってる backlog の issue の情報とかが Slack に投げられてて。
ボタンつくったり、 Alfred から投げたりと、それぞれやりやすいようにカスタマイズしてやってるのだけど、個人的には Toggl でやりたいな、と。

Toggl - Time Tracker & Employee Timesheet Software
https://toggl.com/

連絡とか確認が多いと対応する issue も多いからその辺は Toggl で計測してる方がひとまとめになっていいかな、、、と。

toggl2slack を使ってみる

ってことで調べてて、こちらを参考にさせてもらって動かしてみた。

Slackとtogglで頑張らない情報共有 - Diver Down技術ブログ
http://webken-tech.hatenablog.com/entry/2017/09/12/201647
diverdown/toggl2slack
https://github.com/diverdown/toggl2slack

やることは書かれてる通りっちゃ通りなのだけど

$ wget https://github.com/diverdown/toggl2slack/releases/download/v0.1.1/toggl2slack_0.1.1_linux_amd64.tar.gz
$ tar zxfv toggl2slack_0.1.1_linux_amd64.tar.gz
$ ./toggl2slack init
$ vi config.json
$ ./toggl2slack start

config.json に設定する値とかはこんな感じで。

toggl_token : Toggl の Profile にある API token
dashboard_id : https://toggl.com/app/dashboard/me/AAAAAAAA/period/thisWeek みたいなURLの AAAAAAAA に当たるところ
webhook_url : Slack の Webhook の URL
TOGGL_USER1_ID : Toggl の userID

"users": {
    "xxxxxx": {
        "channel": "#times_mersy",
        "username": "mersy"
    }
},

Toggl の userID がどこでわかるのかわからずだったので
https://github.com/toggl/toggl_api_docs/blob/master/chapters/workspace_users.md
を見て

$ curl -v -u <$toggl_token$>:api_token -X GET https://www.toggl.com/api/v8/me

こんな感じで投げて帰ってくるレスポンスにある id を使うことでいけた。

Terminal 閉じちゃうと終了しちゃうから

ターミナルを閉じてもプロセスを終了させないnohupコマンド | 三度の飯とエレクトロン
http://blog.katty.in/1434

を読んで

$ nohup ./toggl2slack start

こんな感じで動かしてみた。

Slack にも通知が来てるみたいで、これで晴れて仕事してるアピールができるようになりました。
Toggl に WorkSpace が複数あると情報が別っぽいので、そこは別物とする必要がありそう。

サーバで動かせるようになるまでに @tinybeans と @bun に色々教えてもらいつつ、、、
別の WorkSpace のを動かしてみたら今回はサクッといけました。感謝感謝。

参考リンク

Toggl

Alfred to slack