Google Apps ScriptでTrelloのリストにある担当カードの数をスプレッドシートに追記する


付箋紙

みなさん、こんにちは!うえはら(@tifoso_str)です。

今回のシリーズでは、Google Apps ScriptでTrelloのAPIを利用して、1ヶ月の執筆数をメンバーごとに集計することを目標にしています。

前回はTrelloのリストにある担当カードの数を集計する方法をお伝えしました。

Google Apps ScriptでTrelloのリストにある担当カードの数を集計する
Google Apps ScriptでTrelloのAPIを利用して、1ヶ月の執筆数をメンバーごとに集計することをシリーズでお伝えしています。 今回はAPIから得られた情報を元に、メンバー毎の執筆数を集計していきます。

シリーズの目標は1ヶ月の執筆数なので、今回は期限の条件を追加して1ヶ月分の執筆数を集計します。

また、何月分かわかるように関数も追加したいと思います。

最後にスプレッドシートへの追記とトリガーを設定して、このシリーズをまとめていきます。

カードの期限で前月分を判断して集計する

下記のような、スクリプトとなります。

5,6行で、今月の1日先月の1日を設定しています。

Dateオブジェクトについては、下記記事をご覧下さい。

Google Apps ScriptでのDateオブジェクトの各生成方法、日付と時刻を分ける
スプレッドシートの勤怠管理システムをお題としてGoogle Apps Scriptでの日時について解説します。Dateオブジェクトの生成のいくつかの種類、要素を取得するメソッド、日付と時刻の分解などです。

9行目で期限を取得していますが、TrelloのAPIで取得できる日付は「ISO-8601拡張フォーマット」をいう形式で、そのままでは文字列として認識されてしまうので、日付形式に変換しています。

if文を追加して条件に「先月1日<=期限<今月1日」とすることで、前月分を集計するようにしています。

何年何月分かわかるようにyyyymm形式の関数作成

スプレッドシートを見たときに何年何月の執筆分か確認できるように関数を追加します。
スクリプトは下記のようになります。

月表示を二桁で統一したかったので、1~9月は前に「0」を付けるようにしています。

文字列を取り出すときはsliceメソッドを使いまます。

文字列.slice(開始位置, 終了位置)

開始位置を「-」(マイナス)とすることで、文字列の後ろから指定することが出来ます。

今回の場合は、終了位置を省略しているので、後ろから2文字ということになります。

スプレッドシートに追記する

スプレッドシートへの記入は、このブログでも頻出なので、おなじみですね!

スクリプトは下記のようになります。

3行目で最終行を取得して、4,5行で配列の行数と列数を取得しています。

上書きしないように、最終行の次の行から配列に入っているデータを追記しています。

トリガー作成

最後に、月が変わった時に関数が実行されるようにトリガーを設定します。

トリガー設定

イベントを「時間主導型」「月タイマー」、日付を「1」、時間を「午前0~1時」としました。

まとめ

メインの関数をまとめると、下記のようになります。

getBoardMembers関数、getCards関数、getyyyymm関数は変更ないので省略します。

このtrelloMain関数を月が変わった直後に実行するようにトリガー設定しているので、Trelloで管理している前月一ヶ月分の執筆数を集計して、スプレッドシートに記録を残すことができます。

ひとまず、シリーズは終わりますが、TrelloのAPIはまだまだ出来ることがあります。

今回は集計するだけでしたが、ちょっと手を加えれば、集計した後にカードをアーカイブするということも出来ます。

興味のある方は、TrelloのAPIを見てください!

それでは、最後までありがとうございました。

連載目次:GASでTrelloのAPIを利用して、1ヶ月の執筆数をメンバーごとに集計

「いつも隣にITのお仕事」の執筆チームでは、タスク管理にTrelloを使用しています。 各記事をカードとして管理し、公開されたものは「公開済み」のリストへ移動させます。 本シリーズでは、「公開済み」のリストにあるカードを確認して、1ヶ月の執筆数をメンバー毎に集計します。
  1. Google Apps ScriptでTrelloの特定のリストにあるカードの一覧を取得する
  2. Google Apps ScriptでTrelloのカード情報一覧から必要な情報を取り出す
  3. Google Apps ScriptでTrelloのボードに登録しているメンバー情報を取り出す
  4. Google Apps ScriptでTrelloのリストにある担当カードの数を集計する
  5. Google Apps ScriptでTrelloのリストにある担当カードの数をスプレッドシートに追記する

The following two tabs change content below.
独学でプログラムを勉強しているノンプログラマーです。 名前から連想されるように沖縄在住ですが、うちなんちゅ~ではありません。 パソコンにできることはパソコンにさせよう!をモットーに日々の業務に取り組んでいます。

コメント