Backlog課題からTrelloのカードを作ってくれるLambdaを定期実行

記事タイトルとURLをコピーする

概要

つくったもの

条件を満たすBacklog課題からTrelloカードを自動作成しました。
期限や課題リンクをカードに反映させられたのが個人的に嬉しかった点です。

経緯

私は自分のタスクを主にBacklogで管理しています。
一方、私の課のTrelloボードでも着手中/完了タスクをカード化する必要があります。

ちまちまカードを作ってきましたが、まあ面倒です。
Backlog課題が勝手にTrelloカードになったらいいのにな〜!

というわけで、作りました。

読み進める前に

構成はとっても単純で、AWS Lambda(以下Lambda)関数1つです。
これをAmazon CloudWatch Eventsで定期実行します。

本記事は、以下サービスのアカウントがあることを前提に書いていますことをご了承ください。

  • Amazon Web Services
  • Backlog
  • Trello

TrelloのAPI利用準備

前田の記事がありますので、よろしければご参照ください。
2016年に書かれた記事ですが、2020年9月現在でも同様の手順で準備ができました。

同記事を参考に、Trelloカードを作成したいボードやリストのIDを取得しておきます。

BacklogのAPI利用準備

APIキーの取得

BacklogのAPIキー取得はとても簡単です。

  1. Backlogにログインし、画面右上の自分のアイコンをクリックして「個人設定」を選択します。 f:id:swx-iso:20200916162623j:plain

  2. 「API」画面を開き、「メモ」欄に用途を入力し「登録」をクリックすればAPIキーが入手できます。 f:id:swx-iso:20200916162627j:plain

課題の検索条件を決める

Backlog APIドキュメントを参考に、今回は以下を調べていきました。

他にも課題の情報は大体抜けるようになっているので、いい感じにカスタマイズしましょう。

serverless.ymlの編集

こちらのリポジトリに実際のコードを置いています。
こちらをcloneして、ディレクトリに入った状態でserverless.ymlファイルを作ります。

cp serverless_sample.yml serverless.yml

まずはLambdaデプロイ先のAWSアカウントやその認証プロファイルを指定します。 (参考)
あとはここまで集めてきた各サービスのAPIキーや項目IDなどを入力すれば出来上がりです。
カードの検索条件を変更した方は、適宜反映させてください。

デプロイ

Serverless Frameworkをインストールし、

sls deploy

でデプロイしましょう。

初期設定だとLambdaが日本時間で毎週木曜日の朝9時に実行されるようになっています。

できた

実際に起票されたTrelloカードがこちらです。
f:id:swx-iso:20200916181637j:plain Backlog課題の情報をまるっと持ってきて、自分を担当者にしたカードが作れました。

これでラクしてタスク管理できるようになりましたね!
ここまで読んでいただきありがとうございました。

補足

ちなみに、BacklogにはWebhookという機能があります。
これを使うと課題の追加や更新をトリガーにして処理を開始できます。
詳しくは公式ドキュメントをご覧ください。

使える方はこちらの機能を利用するのもいいと思います(今回は権限がなく諦めました)。