Trelloの内容をスプレッドシートに出力する

Trelloの内容をスプレッドシートに出力する

タスク管理を行うツールには様々な種類がありますが、中でもTrelloは付箋のような感覚で使え、直感的にも分かりやすいツールです。Trelloに登録したタスクをスプレッドシートに出力して、スプレッドシートでもタスクの状況を確認できるようにすることができ、Trelloをより柔軟に使用することができます。
「カワリニ」編集部

Trelloの内容をスプレッドシートに出力するメリット

Trelloの内容をスプレッドシートに出力することで以下のようなメリットがあります。

  • 一覧で確認しやすい
  • Trelloのアカウントを持っていない人でも確認できる
  • スプレッドシートからExcelに出力すると、Excelでも確認できる
  • スプレッドシートからCSV形式で出力して、別システムに取り込むことができる

など、使い方によって、様々な使い方ができるようになります。

Trelloの内容を取得する準備

Trelloの内容を取得するには、TrelloのAPIを使用します。

APIを使用するには、以下が必要です。

  • 開発者向けAPIキー
  • トークン

開発者向けAPIキーを取得する

Trelloにログインした状態で、以下のURLにアクセスします。
https://trello.com/app-key

以下の画面が開きます。
キーという部分に書かれているのが開発者向けAPIキーです。

Trello開発者向けAPIキー

トークンを取得する

上記の画面で、「トークン」というリンクをクリックします。
許可しますか?という画面が出るので、画面下部の「許可」ボタンをクリックします。

Trelloトークン

トークンが表示されます。

Trelloトークン

TrelloのAPIをGASで使用する

TrelloのAPIを使用する準備ができたら、GASからAPIを使用します。

スプレッドシートを作成し、
「ツール」メニュー → スクリプトエディタを選択します。

まず、プロジェクト名を入力します。
以下のように「無題のプロジェクト」となっている部分をクリックします。

プロジェクト名の入力

以下のようにコードを入力します。

var trelloKey   = "[ここに開発者向けAPIキーを入れる]";
var trelloToken = "[ここにトークンを入れる]";
var boardId = "[ここにボードIDを入れる]";

function getCardList() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("シート1");

  // 一覧クリア
  sheet.getRange("A2:F").clear();
    
  // ボード情報取得
  var boardInfoUrl = "https://api.trello.com/1/boards/" + boardId + "/cards?fields=id,name,labels,dueComplete,due,idMembers,shortUrl&key="
    + trelloKey + "&token=" + trelloToken
  var boardInfoRes = UrlFetchApp.fetch(boardInfoUrl, {'method':'get'}); 
  var boardInfo = JSON.parse(boardInfoRes.getContentText());
  
  // メンバー情報取得
  var memberInfoUrl = "https://api.trello.com/1/boards/" + boardId + "/members?key=" + trelloKey + "&token=" + trelloToken;
  var memberInfo = UrlFetchApp.fetch(memberInfoUrl, {'method':'get'});
  var miJson = JSON.parse(memberInfo.getContentText());
  
  var output = [];
  for(var index = 0; index < boardInfo.length; index++){
    var row = [];
    
    var cardInfo = boardInfo[index];
    
    // カードID
    row.push(cardInfo["id"]);
    // カード名
    row.push(cardInfo["name"]);
    // 完了済みか
    if (cardInfo["dueComplete"]) {
      row.push("完了");
    } else {
      row.push("未完了");
    }
    // 期限
    var dueValue = ""
    var due = cardInfo["due"];
    if (due != null) {
      dueValue = Utilities.formatDate(new Date(due), 'Asia/Tokyo', 'yyyy/M/d HH:mm');
    }
    row.push(dueValue);
    // 担当者
    var members = cardInfo["idMembers"];
    if (members.length == 0) {
      row.push("");
    } else {
      // メンバー情報から該当するものを取得し、名前を設定する
      for (var memberIndex = 0; memberIndex < miJson.length; memberIndex++){
        if(miJson[memberIndex].id == members[0]){
          row.push(miJson[memberIndex].fullName);
          break;
        }
      }
    }
    // URL
    row.push(cardInfo["shortUrl"]);
    
    output.push(row);
  }
  // 2行目から出力
  sheet.getRange(2, 1, output.length, output[0].length).setValues(output);
}

 

プログラムの内容

Trelloと連携するために以下の内容を設定します。

  • 1行目:先に取得しておいた開発者向けAPIキーを入力
  • 2行目:先に取得しておいたトークンを入力
  • 3行目:取得対象のボードIDを入力
    ボードを開いた際のURLが以下の形式になっており、「/b/」から次の「/」までの部分(下記例だと赤字のabcdefg)がボードIDとなります。
    https://trello.com/b/abcdefg/ssssssss

プログラムの実行

事前準備として、一覧のヘッダは固定になるので、予め入力しておきます。

一覧のヘッダ

作成したプログラムを実行するには、エディタの画面上部のツールバーから「実行」をクリックします。

GASの実行

この時、下記のように実行する権限の承認確認が表示されますので、承認してください。

権限の許可が必要

実行すると、結果は以下のようになります。

実行結果

Trelloの内容をスプレッドシートに出力することで、より柔軟にタスクの確認ができる

Trelloの内容をスプレッドシートに出力する方法を紹介しました。

スプレッドシートに出力するのは簡単ですし、出力する内容も業務に合わせてカスタマイズできるので、ぜひ使ってみてください。

 

 

ギルドプロジェクトではSaaSの導入や、マニュアルの作成、決裁者への意思決定の手助けなどの業務効率化を代行する「カワリニ」というサービス展開しております。
問い合わせは無料で対応させていただいております。
社内SEがおらず専門ではない方がこういった作業をされているような場合や、外部に委託したかった等お気軽にお問い合わせください。

カワリニに相談する