.../articles/

ClickUpの締切を過ぎたタスクを見える化しました

ClickUpで管理しているタスクが締切を過ぎても気づけない状態になっていたので、Slackに通知してわかりやすく目につくようにしました。

ここしばらく弊社ではタスク管理に ClickUp を利用しています。

案件ごとにSpaceを作りタスク管理するのはもちろん、社内の事務作業等細々したものまで管理するようにしています。

最近Spaceやタスクが増えてきたことで、もともと設定した締切を過ぎてしまうタスクが出てきているのですが、それに気づきにくい状況になっているなと感じていました。

納品やリリースなどの大きな目標や優先度の高いタスクはいいのですが、やろうと決めたものの優先度の低いタスクが残っていたり、単純にタスクのステータスを更新していないケースもあります。


やったこと

タスクの担当者がそれぞれ締切やステータスに気をつけるというのももちろんなのですが、締切を過ぎたタスクがあるということをよりオープンにすることでタスクを進めたりステータスを更新する動機づけになればと思いSlackに通知する仕組みを作りました。

この仕組みは以下の処理を平日の10時に実行します。

  1. ClickUp APIで締切を過ぎているタスクを取得
  2. Slackに1で取得したタスクの情報をポストする

この仕組みをAWS Lambdaで動かすためのコードを以下のリポジトリにまとめたので、とりあえず同じことをしてみたいという場合はすぐ試すことができます。

これによって届いた通知がこんな感じです。

締切を過ぎたタスクごとに日付、Space(クライアントや案件などの名前)、タスク名、ステータス、担当者を羅列しています。
見栄えはまだ改善の余地がありそうですが、「締切を過ぎたタスクがこれだけあるよ!」ということがひと目でわかるようにはなりました。

これが毎日Slackに届くので、タスクを確認しようというアクションを促すことができたかなと思います。

ただこれを作って思ったのは、そもそも締切が過ぎる前に気づけないと意味がないということです。
次は締切の近いタスクを通知する機能を追加しようと考えています。


解説

AWS Lambda

毎日10時に実行するというのはAWS LambdaとCloudwatch Eventsを組み合わせて実現します。

ちょっとしたバッチ処理を開発するときなどはServerless Frameworkを使っており、最近はServerless Plugin Typescriptを使うのが簡単でよく利用します。

ClickUp API

ClickUpから情報を取得するためにAPIを利用します。

APIのリクエストにはトークンが必要になるので、Personal API Keyを取得しておきます。

SpaceなどによらずTeamの全てのタスクを取得したかったので Get Filtered Team Tasks をリクエストしており、「締切を過ぎた」という状態は due_date_lt パラメータを使うことで表現可能です。
「締切が近い」という状態は due_date_gt と組み合わせて表現できそうですね。

Slack

通知するチャンネルを動的に変えるなど機能を追加していきたいと考えているので、トークンを発行し chat.postMessage APIをリクエストすることでタスク情報をポストしています。

もっと手軽に通知するだけであればIncoming Webhooksでも可能です。

.../articles/

Articles

記事

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

monorepo管理しているNext.jsをAmplifyにデプロイしようとした際にいくつか躓く内容があったのでまとめておきます。

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

コロナ禍の影響により、リモートワークの導入をおこなっている制作会社も多く、実際に弊社でも導入しています。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトのデザインは、「この形式」という決まりはありません。ECサイトで売り上げを上げるなら、しっかりとしたコンセプトと、コンセプトを決定するまでのリサーチが必要です。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

新型コロナウイルス感染拡大の影響で、リモートワークが主流になり、弊社でも週のほとんどは各自宅で作業をしています。

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaを利用するWebデザイナーの助けになれると嬉しいです。使い方は本記事をご覧ください。

ECの構築方法、おすすめのECサービス。

ECの構築方法、おすすめのECサービス。

ファッションや家電、スーパーの買い物でさえもECサイトを利用することが当たり前になりました。加えて新型コロナウイルスの影響もあり、弊社にも「どんなプラットフォームを利用したら良いか」「どれくらいコストがかかるのか」などECに関するさまざまなご相談を頂きます。

FastAPIのスキーマクラスをOpenAPIから生成する方法

FastAPIのスキーマクラスをOpenAPIから生成する方法

PythonでAPIを構築する要件があり、フレームワークに比較的モダンなFastAPIを採用しました。FastAPIはバックエンドの開発を行えば自動でOepnApi定義を生成する機能が備わっていますが、今回はこれを使わず、事前に用意したOepnApi定義からFastAPIで利用するスキーマクラスを生成する方法を紹介します。

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel + MySQLで全文検索を実装する

とあるPythonのソースで sys.path.append としたく無かった話

とあるPythonのソースで sys.path.append としたく無かった話

とあるプロジェクトのとあるソースコードのレビューをしてた時、「ソースコードの参照がうまくいってなかったので修正しました」とレビュー依頼がきました。 ディレクトリ構造 ``` module L __init__.py L main.py L tests L __init__.py L test_main.py ``` ソースコード ``` python tests/test_main.py sys.path.append(os.path.abspath("..")) from main import fuga ``` 今まで案件でPythonに触れる機会も結構ありましたが、なんとなく使ってきた部分も多く、この書き方が良いのか悪いのか判別できなかったので、改めてPythonのモジュールのインポートに関して調べてみたのでブログにしました。普段PHPを書いている事が多くPythonに関して何も分からないので初心者向けの内容になっていると思います。

GiFT1号目新卒デザイナーの2021年振り返り

GiFT1号目新卒デザイナーの2021年振り返り

いつの間に、年末ですね。入社してもう、9ヶ月も立っていたようです。2021年の振り返りを記事にしました。

すべての記事

お問い合わせ