前提・実現したいこと
trelloでタスク管理をしているのですが、毎日自分でチェックするのが面倒なのでGASを利用して
trelloのAPIとslackのwebhookを用いtrelloのリストごとに残タスクをslackに自動で
投げてくれるようなツールを作りたいです。
発生している問題・エラーメッセージ
trelloのAPIを使用してカードの名前とIDを取得することはできたのですが、
それを上手く整形できずに困っています。
エラーメッセージとは少し違うのですが、slack上で
ボット名 Array Array
と表示されてしまいます。
該当のソースコード
GAS
1function main(){ 2 getCardsFromList("hogehoge")//todoリスト 3} 4 5function getCardsFromList(listID){ 6 var DEV_API_KEY = "API_KEY"; 7 var API_TOKEN = "API_TOKEN"; 8 var url = 'https://api.trello.com/1/lists/' + listID + '/cards?key=' + DEV_API_KEY + '&token=' + API_TOKEN + '&fields=name'; 9 10 try { 11 var response = UrlFetchApp.fetch(url, {'method':'get'}); // GETリクエスト 12 var message = "response"; 13 slack(message); 14 } catch (er) { //エラー発生寺にログを記録 15 var logText = "エラー : line - " + er.lineNumber + '\n Error: ' + er.message; 16 addLog(logText);//スプレッドシートにエラーメッセージ記入 17 } 18} 19function slack(message) { 20 var postUrl = 'https://hooks.slack.com/services/hogehoge'; 21 var username = 'botbot'; // 通知時に表示されるユーザー名 22 var icon = ':hatching_chick:'; // 通知時に表示されるアイコン 23 var jsonData = 24 { 25 "username" : username, 26 "icon_emoji": icon, 27 "text" : message 28 }; 29 var payload = JSON.stringify(jsonData); 30 31 var options = 32 { 33 "method" : "post", 34 "contentType" : "application/json", 35 "payload" : payload 36 }; 37 38 UrlFetchApp.fetch(postUrl, options); 39}
試したこと
今回の問題はtrelloAPIから取得したresponseの型を整形できていないことから起きているのだと考え
var a = response.toString slack(a)
を試しましたが、エラーが飛んでしまいました。以下がそのエラーメッセージです。
Error: https://hooks.slack.com のリクエストに失敗しました(エラー: 400)。 サーバー応答の一部: missing_text_or_fallback_or_attachments (応答の全文を見るには muteHttpExceptions オプションを使用してください)
補足情報(FW/ツールのバージョンなど)
今年初めてPCを買い、プログラミング経験は3ヶ月で、メインはJavaを勉強してきました。
JSでの型の確認方法など調べたもののわからず、教えていただけると幸いです。
回答1件
あなたの回答
tips
プレビュー