GASでスプレッドシートのデータを元にTrelloのカードを作成する

ポストイットがいっぱい
みなさん、こんにちは!うえはら(@tifoso_str)です。

最近、Trelloに関する記事を書いていますが、みなさんTrello使ってますか?

1週間、1ヶ月のToDoカードを作成して、予定を把握されている方もいるのではないでしょうか?

そんな方には、毎週、毎月決まって作成するカードがあると思います。

この作業を自動化できたら便利じゃないですか?!効率も上がりますよね?!

そこで今回より、「スプレッドシートとGASでTrelloのリストにカードを作成するツール」を作成していきます。

スポンサーリンク

はじめに

まずはじめに、今回のシリーズでどのようなものを作成するかご説明します。

下記のようにスプレッドシートを用意します。

シリーズの目標

  1. の「ボード取得」を実行すると、「board」シートにボード名とボードIDが取得されます。
  2. 次にで作成するボードを選択します。
  3. の「リスト・メンバー取得」を実行すると、「list」と「member」シートにそれぞれのリスト名メンバー名とIDが取得されます。
  4. その後で作成するリストと、タイトル、担当者、期限を設定します。
  5. の「カード作成」を実行すると、Trelloにカードが作成されます。

シリーズカード作成

今回の記事では、いきなりですが「GASでスプレッドシートの値をタイトルにしたTrelloのカードを作成する」方法をお伝えします。

Trelloのリストにカードを作成する

まずは単純に、指定のリストにカードを作成します。

カードを新規作成するURLは下記となります。

https://api.trello.com/1/cards

TrelloのTokenやKeyは前回のシリーズと同じようにプロパティーサービスを利用します。

Google Apps ScriptでTrelloの特定のリストにあるカードの一覧を取得する
Trelloはタスク管理に便利です。今回はGoogle Apps ScriptでTrelloのAPIを利用して、特定のリストにあるカード一覧を取得します。 なお、TrelloのKeyやTOKENの保存にはプロパティストアを利用します。

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

function createCard() {
  var scriptProperties = PropertiesService.getScriptProperties();
  const Trello_KEY   = scriptProperties.getProperty('Trello_KEY');
  const Trello_TOKEN = scriptProperties.getProperty('Trello_TOKEN');
  const BOARD_ID = scriptProperties.getProperty('BOARD_ID');
  const LIST_ID = scriptProperties.getProperty('LIST_ID');

  var URL = 'https://api.trello.com/1/cards/';

  var payload =
      {'key':Trello_KEY,
       'token':Trello_TOKEN,
       'idList' : LIST_ID};
  
  var option =
      {'method':'POST',
       'payload':payload};
    
  UrlFetchApp.fetch(URL,option);
}

この関数を実行すると、指定したリストに空のカードが作成されます。

空のカード

前回のシリーズをご覧の方は、うすうすお気付きかもしれませんが、payloadに項目を設定することでカードのタイトルや担当者を追加することが出来ます。

カードのタイトルや担当者を追加して新規にカードを作成

カードを作成するときに指定できる項目

カードを作成するときに指定できる主な項目は下記となります。

  • name (カードのタイトル)
  • desc (カードの説明)
  • due (期限)
  • idMembers (担当者のID)
  • idLabels (ラベルのID)

太字の項目を今回は指定します。

項目を追加したスクリプト

下記はシリーズで使用する、カードのタイトル、担当者、期限を追加したpayload部分のスクリプトです。

var payload =
        {'key':Trello_KEY,
         'token':Trello_TOKEN,
         'idList' : LIST_ID,
         'name' : "カードのタイトル",
         'idMembers': "担当者ID",
         'due': "期限"};

keyやtokenと同じように記述すれば大丈夫です。

後は、それぞれの項目をスプレッドシートから取得すればO.K.ですね!

スプレッドシートから値を取得してTrelloのカードを新規作成

それでは、スプレッドシートの値を取得して、Trelloにカードを新規作成するスクリプトです。

※今回はスプレッドシートの担当者の欄にメンバーIDが入力されている前提とします。

function createCard() {
  var scriptProperties = PropertiesService.getScriptProperties();
  const Trello_KEY   = scriptProperties.getProperty('Trello_KEY');
  const Trello_TOKEN = scriptProperties.getProperty('Trello_TOKEN');
  const LIST_ID = scriptProperties.getProperty('LIST_ID');  

  var URL = 'https://api.trello.com/1/cards/';
  
  var sheetCard = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('card');
  var lastRow = sheetCard.getLastRow();
  var cardsInfo = sheetCard.getRange(5, 1, lastRow - 4, 3).getValues();//カード情報を配列に追加
  
  for (var i=0 ; i<cardsInfo.length ;i++){
    var payload =
        {'key':Trello_KEY,
         'token':Trello_TOKEN,
         'idList' : LIST_ID,
         'name' : cardsInfo[i][0],
         'idMembers': cardsInfo[i][1],
         'due': cardsInfo[i][2],};
    
    var option =
        {'method':'POST',
         'payload':payload};
    
    UrlFetchApp.fetch(URL,option);
  }
}

payloadで指定している、name,idmembers,dueをスプレッドシートから取得しています。

カードの作成を繰り返し実行することで、複数のカードを作成します。

まとめ

今回は、「GASでスプレッドシートの値をタイトルにしたTrelloのカードを作成する」方法をお伝えしました。

前回のシリーズでお伝えした、カードを一枚づつアーカイブする方法と同じ感じなので、こちらの記事も併せてご覧下さい。

Google Apps ScriptでTrelloのカードをアーカイブする
Google Apps ScriptでTrelloのカードをアーカイブする方法をお伝えします。シリーズに合わせて、カードを1枚ずつアーカイブする方法をお伝えしてシリーズを完結します。また、リストのカードをまとめてアーカイブする方法もあるので、こちらも解説しています。

それでは、次回はボード情報を取得して、ツールらしくボード名をリスト選択していきます。

GASで取得したTrelloのボード情報をスプレッドシートでリスト選択にする
シリーズでスプレッドシートとGoogle Apps Scriptを使用して、Trelloにカードを作成するツールをお伝えしています。 今回はGASで取得したTrelloのボード情報をスプレッドシートに取込みます。

どうぞお楽しみに!

連載目次:スプレッドシートとGASでTrelloにカードを作成するツール

毎週、毎月Trelloに同じカードを作成している方必見です。 スプレッドシートとGoogle Apps Scriptを使用して、Trelloにカードを作成するツールを作成します。

  1. GASでスプレッドシートのデータを元にTrelloのカードを作成する
  2. GASで取得したTrelloのボード情報をスプレッドシートでリスト選択にする
  3. スプレッドシートとGASでTrelloのリストにカードを作成するツール
タイトルとURLをコピーしました