LoginSignup
0

posted at

ClickUpのイベントをLambdaで取得してみた

はじめに

業務でClickUpを使用していますが、タスクのコメントが追加された際にSlackに通知できるようにしたいと思いました。
まずは、Lambdaでイベントを受け取る方法についてまとめました。

準備

Lambda

  • 関数を作成する
  • 今回は簡易性のためにAPI Gatewayは使わずに関数URLを使う

ClickUp

  • 以下に記載の順序でAccessトークンを取得する

Finding your token:
Navigate to your personal Settings
Click Apps in the left sidebar
Click Generate to create your API token
Click Copy to copy the key to your clipboard

  • 以下コマンドでWebhookを作成する
curl --include \
     --request POST \
     --header "Authorization: "access_token"" \
     --header "Content-Type: application/json" \
     --data-binary "{
    \"endpoint\": \"https://yourdomain.com/webhook\",
    \"events\": [
        \"taskCreated\",
        \"taskCommentPosted\",
        \"taskCommentUpdated\"
    ]
}" \
'https://api.clickup.com/api/v2/team/{team_id}/webhook'
  • 補足
    • access_token: 上記で取得したアクセストークン
    • endpoint: イベントを通知したいURL。今回はLambdaの関数URLを指定
    • events: 連携したいイベントを列挙する。指定方法は公式ドキュメント参照。今回は以下イベントを取得
      • taskCreated: タスクが作成された時のイベント
      • taskCommentPosted: タスク内でコメントが投稿された時のイベント
      • taskCommentUpdated: タスク内のコメントが更新された時のイベント
    • team_id: ワークスペースのID

検証

それぞれのイベントに関して検証した。
レスポンスの内容は以下公式ドキュメントに例が記載あるので、ここでは記載しない。

taskCreated

  • 問題なく連携されることを確認できた。

taskCommentPosted

  • スレッドでない場合は、問題なく連携されることを確認できた。
  • スレッド内でコメントを投稿した場合は連携されなかった。

taskCommentUpdated

  • スレッドでない場合は、問題なく更新されることを確認できた。
  • スレッド内のコメントを投稿した場合は連携されなかった。

まとめ

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0