Trelloの内容をスプレッドシートに出力するメリット
Trelloの内容をスプレッドシートに出力することで以下のようなメリットがあります。
- 一覧で確認しやすい
- Trelloのアカウントを持っていない人でも確認できる
- スプレッドシートからExcelに出力すると、Excelでも確認できる
- スプレッドシートからCSV形式で出力して、別システムに取り込むことができる
など、使い方によって、様々な使い方ができるようになります。
Trelloの内容を取得する準備
Trelloの内容を取得するには、TrelloのAPIを使用します。
APIを使用するには、以下が必要です。
- 開発者向けAPIキー
- トークン
開発者向けAPIキーを取得する
Trelloにログインした状態で、以下のURLにアクセスします。
https://trello.com/app-key
以下の画面が開きます。
キーという部分に書かれているのが開発者向けAPIキーです。
トークンを取得する
上記の画面で、「トークン」というリンクをクリックします。
許可しますか?という画面が出るので、画面下部の「許可」ボタンをクリックします。
トークンが表示されます。
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
プログラムの実行
事前準備として、一覧のヘッダは固定になるので、予め入力しておきます。
作成したプログラムを実行するには、エディタの画面上部のツールバーから「実行」をクリックします。
この時、下記のように実行する権限の承認確認が表示されますので、承認してください。
実行すると、結果は以下のようになります。
Trelloの内容をスプレッドシートに出力することで、より柔軟にタスクの確認ができる
Trelloの内容をスプレッドシートに出力する方法を紹介しました。
スプレッドシートに出力するのは簡単ですし、出力する内容も業務に合わせてカスタマイズできるので、ぜひ使ってみてください。
ギルドプロジェクトではSaaSの導入や、マニュアルの作成、決裁者への意思決定の手助けなどの業務効率化を代行する「カワリニ」というサービス展開しております。
問い合わせは無料で対応させていただいております。
社内SEがおらず専門ではない方がこういった作業をされているような場合や、外部に委託したかった等お気軽にお問い合わせください。