Googleフォームで問合せを受け付け、Trelloにカードを追加する
目的
Googleフォームで社内の問合せを受けています。
対応漏れがないように、GASでTrelloに自動でカードを追加します。
概要
googleフォームを作成し、問合せ内容をスプレッドシートに書き出します。
書き出された内容を元にして、TrelloのAPIを使って、追加したいリストにpostします。
TrelloのAPIを使うための認証情報
今回のTrelloのAPIを使うためには、認証情報としてAPIキーとトークンとリストIDが必要です。
まず、以下のURLにアクセスすると、APIキーを取得できますのでコピーして下さい。
https://trello.com/1/appKey/generate
次に、アプリケーションの「認証」を押して下さい。
アクセス許可が求められたら許可して下さい。
そして、認証するとAPIトークンを取得できます。
ちなみに、curlを使うと簡単かと思うので、こちらの記事を参考に、自身のTrelloのAPIキー、トークン、リストIDを確認して下さい。
リストIDを確認するためには、上記のAPIキー、トークンの情報が必要です。
https://qiita.com/isseium/items/8eebac5b79ff6ed1a180
リストはTrelloの「未対応リスト」的なリストに追加すると良いと思います。
GASの内容
googleフォームを書き出したスプレッドシートからスクリプトを作成し、以下のコードを記述します。
項目は例ですので適宜修正して下さい。
function myFunction(e) {
// 入力カラム名の指定
var A_FROM_NAME ='タイムスタンプ';
var B_FROM_NAME ='メールアドレス';
var C_FROM_NAME ='氏名';
var D_FROM_NAME ='所属部署/組織';
var E_FROM_NAME ='件名/依頼分類';
var F_FROM_NAME ='対応依頼内容';
var G_FROM_NAME ='メーリングリスト利用範囲';
var H_FROM_NAME ='対象システム';
var I_FROM_NAME ='ファイル添付';
var J_FROM_NAME ='承認者名';
var K_FROM_NAME ='希望納期';
var L_FROM_NAME ='備考';
var Kaigyo = "\n";
//問合せ内容を変数に格納
var timeStamp = e.namedValues[A_FROM_NAME];
var mailAdress = e.namedValues[B_FROM_NAME];
var name = e.namedValues[C_FROM_NAME];
var busho = e.namedValues[D_FROM_NAME];
var bunrui = e.namedValues[E_FROM_NAME];
var contents = e.namedValues[F_FROM_NAME];
var mlHani = e.namedValues[G_FROM_NAME];
var system = e.namedValues[H_FROM_NAME];
var tenpu = e.namedValues[I_FROM_NAME];
var Author = e.namedValues[J_FROM_NAME];
var deadline = e.namedValues[K_FROM_NAME];
var bikou = e.namedValues[L_FROM_NAME];
//カードに追加する本文を格納
var body = "■ メールアドレス" + Kaigyo + mailAdress + Kaigyo + Kaigyo
+ "■ 氏名"+ Kaigyo + name + Kaigyo + Kaigyo
+ "■ 所属部署"+ Kaigyo + busho + Kaigyo + Kaigyo
+ "■ 件名/依頼分類"+ Kaigyo + bunrui + Kaigyo + Kaigyo
+ "■ 対応依頼内容"+ Kaigyo + contents + Kaigyo + Kaigyo
+ "■ メーリングリストの利用範囲"+ Kaigyo + mlHani + Kaigyo + Kaigyo
+ "■ 対象システム"+ Kaigyo + system + Kaigyo + Kaigyo
+ "■ ファイル添付"+ Kaigyo + tenpu + Kaigyo + Kaigyo
+ "■ 承認者名"+ Kaigyo + Author + Kaigyo + Kaigyo
+ "■ 希望納期"+ Kaigyo + deadline + Kaigyo + Kaigyo
+ "■ 備考"+ Kaigyo;
// Trelloのカードのタイトル定義。期日を明確にするために期日を含めています。
var titleTrello = "【" + busho + "/" + name + "】" + " 期日:" + deadline; // + " [分類:" + bunrui + "]";
addTrelloCard(titleTrello, body);
}
function addTrelloCard(title,body) {
// カード作成
//取得したTrelloの情報を入力して下さい
var api_key = "APIキー";
var api_token = "トークン";
var list_id = "リストID";
var card_title = title;
var card_description = body;
var url = 'https://api.trello.com/1/cards/?key=' + api_key + '&token=' + api_token;
var options = {
'method' : 'post',
'muteHttpExceptions' : true,
'payload' : {
'name' : card_title,
'desc' : card_description,
'due' : '',
'idList' : list_id,
'urlSource' : ''
}
}
var response = UrlFetchApp.fetch(url, options);
}
トリガー設定
結果
このような形でカードが追加されます。
これで問合せ対応を漏れなく実施することができました!
Author And Source
この問題について(Googleフォームで問合せを受け付け、Trelloにカードを追加する), 我々は、より多くの情報をここで見つけました https://qiita.com/ryosuk/items/57f5c948ba5709e3cc6e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .