Google Apps ScriptでTrelloのカードをアーカイブする


Trelloカードアーカイブ
みなさん、こんにちは!うえはら(@tifoso_str)です。

前回までのシリーズで、Google Apps ScriptでTrelloのAPIを利用して、1ヶ月の執筆数をメンバーごとに集計する方法をお伝えしました。

Google Apps ScriptでTrelloのリストにある担当カードの数をスプレッドシートに追記する
Google Apps ScriptでTrelloのAPIを利用して、1ヶ月の執筆数をメンバーごとに集計することをシリーズでお伝えしています。今回はシリーズの最終回で、今までの分をまとめて、スプレッドシートに追記します。

前回の記事の最後で、Google Apps ScriptでTrelloのカードをアーカイブできることに触れました。

せっかく、Trelloについての話題を解説しているので、このついでに集計が終わった後のカードをアーカイブする方法をお伝えします。

はじめに

カードをアーカイブする方法には、下記の二通りがあります。

  1. カードのIDを取得してカードごとにアーカイブする方法
  2. リストにあるカードをまとめてアーカイブする方法

今回のシリーズでは、集計が終わったカードを対象にするので、「1」のカードごとにアーカイブする方法を使用します。

最後に「2」のまとめてアーカイブする方法もお伝えしますので、確認いただければと思います。

カードを個別にアーカイブする

カードをアーカイブするURLは下記となります。

https://api.trello.com/1/cards/{カードID}

カードIDが必要となりますが、シリーズのgetCards関数ではカードIDを取得していなかったので、getCards関数から修正していきます。

カードID取得を追加したgetCards関数

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

カードidを取得する部分を13,24,25行に追加しました。

メンバーIDを取得するのと、同じ要領です。

集計後のカードをアーカイブする機能を追加したメイン関数

それでは、前回まで解説した、Trelloのカードを集計して1ヶ月の執筆数をスプレッドシートに追記する関数に、集計したカードをアーカイブする機能を追加します。

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

スプレッドシート追記後にアーカイブする部分を追加しています。

24~38行の「カードのメンバーを検索して集計用に足して行く」部分で、アーカイブするカードのカードIDを配列に追加しています。

この配列を元に57~71行でカードをアーカイブしています。

この部分を見ると、URLやfetchメソッドのパラメータが今までと違っていることにお気づきでしょうか?

アーカイブするときはHTTPメソッドに「PUT」を使うので、fetchメソッドのパラメータも前回までとは異なっています。

UrlFetchApp.fetch(URL,[パラメータ])

前回までは、HTTPメソッドが「GET」だったので、パラメータの部分を省略していました。

今回は、「’method’:’PUT’」と「’payload’」をそれそれ指定しています。

カードをアーカイブするにはカードオブジェクトの「closed」を「true」にすればいいので、「’payload’」で「’closed’:’true’」を指定しています。

これを、カードごとに実行することで、1つずつアーカイブしていきます。

これで、Trelloの特定のリストにあるカードを集計して、アーカイブするまでの一連の動作を自動化することができます!

【おまけ】リストのカードを全てアーカイブ

カードをアーカイブする方法に、リストにあるカードをまとめてアーカイブ方法もあるので、この機会にお伝えします。

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

URLは下記の通りで、リストIDがわかればそのリストのカードを全てアーカイブすることができます。

https://api.trello.com/1/lists/{リストID}/archiveAllCards

全てアーカイブするときはHTTPメソッドに「POST」を使いますので、ご注意下さい

まとめ

今回はGoogle Apps Scriptで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のリストにある担当カードの数をスプレッドシートに追記する

  投稿者プロフィール

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

コメント