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

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

コメント