monday.comのURLをSlackに貼ったら展開されるようにした

monday.comというとても便利なタスク管理ツールがあります。 以下でも紹介記事を書きました。 tech.studyplus.co.jp

monday.comは(当たり前ですが)要ログインなので、monday.comのURLをSlackに貼っても展開されません。 それだととても不便なので、URLを展開するツールを作りました github.com

参考にしたツール

Closedなesaの記事URLをSlackに貼ったら展開されるようにした - pixiv inside を元に作りました。とても分かりやすくて助かりました。ありがとうございます。

デプロイ方法

Heroku

https://github.com/akira-kuriyama/monday-unfurly のREADMEにDeploy to Herokuボタンをつけているので、それを使って簡単にデプロイできます。 MONDAY_API_V2_TOKENが必要になりますが、 以下の手順で取得できます。(参考)

  1. monday.comにログインし、左下のアバターアイコンをクリック
  2. メニューからAdminを選択(要admin権限)
  3. API sectionを選択
  4. API v2 Tokenを生成し、コピー

コンテナ

今回、自分はHerokuではなく、GCPのCloud Runにデプロイしました。(そのためにDockerfileもリポジトリにおいてます) Cloud Runはコンテナをサーバーレス環境で実行できるサービスで、負荷に応じて自動的にオートスケール、負荷がない場合はサービスは起動されない(課金されない)といった特徴を持っています。herokuやAWS Lambdaと似てますね。 ただ、休眠状態からの起動はherokuよりは速い気がしました。 あと無料枠がかなりあるのでこのツールを動かすくらいなら無料でできそうです。

で、Cloud Run、めっちゃデプロイ簡単なんですよね。

$ gcloud beta run deploy --image {Docker Imageの場所のURL}

これだけです。これでそのコンテナにアクセスするためのURLが返ってきます。最高ですね。

Slackへの設定方法

Unfurling links in messages | Slack を参考にするか、 Closedなesaの記事URLをSlackに貼ったら展開されるようにした - pixiv inside を読むと分かりやすいと思います。

その他

monday.comのAPIがGraphQLでめっちゃ使いやすかった。 クエリをテストするための画面も用意されていて素敵。

さいごに

monday.comめっちゃ便利なので使ってくれ!!