スキルアップを始める!

【GAS】GoogleスプレッドシートのデータをTrello(トレロ)に反映させる方法

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約5分で読めます。

※記事中に広告情報を含みます。

\ワードプレスのスキルアップはこちら!/ WordPress入門読本

GoogleAppsScript(通称:GAS)を使って、GoogleスプレッドシートのデータをTrello(トレロ)に反映させることはできないかな?と思ったので、試してみました。

Trello(トレロ)とは?

Fog Creek Softwareが2011年に開発したウェブアプリケーション。2014年に分社化し、2017年1月にアトラシアンに売却。画面に作成した「カード」を動かしてTodo管理ができる「カンバン方式」ツールです。

どこにいてもチームのプロジェクトを管理 | Trello
Trello は究極のプロジェクト管理ツールです。ボードを瞬時に起動して面倒なタスクを自動化し、モバイルさえも含むあらゆる場所でコラボレーションできます。

このTrelloへスプレッドからデータを反映させてみます。

TrelloのAPIを取得する

APIを取得
https://trello.com/1/appKey/generate

「開発者向けAPIキー」が必要になりますので、コピーしておきます。
※下記は公式サイトより

Tokens(トークン)を取得する

「Tokens(トークン)」と呼ばれるAPI の使用を許可するためのデータを取得します。

先ほどAPIキーを取得したページの下に「トークンを生成できます」という一文があるのでクリックします。

アクセス許可のページが表示されるので許可をします。

トークンが取得できました。

このKeyとTokenが人に知られると悪用される可能性もあるので、もし tokenが不要になった場合は
https://trello.com/{username}/account
にアクセスして確認・取り消しをしておきましょう。

ユーザー名とボードIDを取得

画面の右上のアカウントアイコンを押すと、ユーザー名を取得することができます。

//開発者向けAPI
var api_key = ‘XXXXXXXXXXXXXXXXXXXXXXX’;
var token = ‘XXXXXXXXXXXXXXXXXXXXXXXXX’;
var userName = ‘userXXXXXXXX’;
var boardId = ”;
function getBoardId() {
var url = ‘https://trello.com/1/members/’ + userName + ‘/boards?key=’ + api_key + ‘&token=’ + token + ‘&fields=name’;
res = UrlFetchApp.fetch(url, {‘method’:’get’});
Logger.log(res);
}

実行すると「ボードID」が取得できます。

function getListId() {
var url = “https://trello.com/1/boards/” + boardId + “/lists?key=” + api_key + “&token=” + api_token + “&fields=name”;
Logger.log(UrlFetchApp.fetch(url, {‘method’:’get’}));
}

使うか分かりませんが、ひとまず全リストのIdを変数でセットしておきます。

必要なデータは取得できたので、先ほどの関数はバッサリ消してしまっても・・・大丈夫でしょう。おそらく。(使うかもしれないのでコメントアウトの方がよいかもしれません)

スプレッドシートのデータを読み込む

function addTrelloCard() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var data = sheet.getRange(1,1).getValue();
var data2 = sheet.getRange(1,2).getValue();
Logger.log(data);
Logger.log(data2);
}

スプレッドシートのデータは取得できたので、あとはTrelloに書き込みます。

var url = ‘https://api.trello.com/1/cards/?key=’ + api_key + ‘&token=’ + api_token;
var options = {
‘method’ : ‘post’,
‘muteHttpExceptions’ : true,
‘payload’ : {
‘name’ : data,
‘desc’ : data2,
‘due’ : ”,
‘idList’ : ListId1,
‘idLabels’ : ”,
‘urlSource’ : ”
}
}
var response = UrlFetchApp.fetch(url, options);

許可をしたら実行が完了します。

Trelloを確認

カードが作成されました!!

あとは、GASのトリガーを上手く使えば、例えば・・・

「Gメールが送信された」→「メールの件名をカードのタイトル、本文をカードの中身に書き込み」する

「スプレッドシートにデータが書き込まれる」→「A列をカードのタイトル、B列をカードの中身に書き込み」する

・・・といったような事が出来そうな予感がします!!
^o^)/ご参考下さい。

URLをコピーしました!