簡単な自己紹介
エンジニア歴 6時間32分
きっかけ
一日の振り返りシートを毎日記入したいと思った。
目的
Slackにスプレッドシートを投稿してその日の日報テンプレを準備する
ついでに目標も毎日投稿しちゃいたい!
グーグルドキュメントとかも使えます!!
/**
* 振り返りシートをSlackに自動で毎日投稿。
*/
/*===========================================================================
TODO: ここだけ編集する
===========================================================================*/
// 取得方法はこちら。 => 「https://qiita.com/ik-fib/items/b4a502d173a22b3947a0」
var postUrl = 'https://hooks.slack.com/services/1234567890;
// Slackの投稿者の名前
var username = '振り返りシート';
// 「https://www.webfx.com/tools/emoji-cheat-sheet/」
var icon = ':stuck_out_tongue_winking_eye:';
// 追加するフォルダ
var targetFolderId = '1ReNsEj-vk2ydOPhHNdz34aXRp9W3n-_j'
// テンプレとして使うファイル
var fileId = '1r5mObHmDgE8GatxVpFEjAaNJFh-V9qtQH0RZtHu3DxM'
var taskMsg = "0時00分が期限です。23時までには書いておきましょう\n";
var line = "\n=============================\n";
/*==========================================================
目標
==========================================================*/
var s1 = "■目標\n\n■2018年11月(cc歳)\n";
var s2 = " →AAA\n";
var s3 = "■2019年3月(cc歳)\n";
var s4 = " →BBB\n";
var s5 = "■2019年8月(cc歳)\n";
var s6 = " →CCC\n";
var s7 = "■2020年8月(cc歳)\n";
var s8 = " →DDD\n";
var s9 = "■2021年8月(cc)歳\n";
var s10 = " →EEE\n";
var schedule = line + s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9 + s10;
/*==========================================================
END. 目標
==========================================================*/
/*===========================================================================
TODO: END. ここだけ編集する
=============================================================================*/
function copyTempleteFile() {
var files = DriveApp.getFolderById(targetFolderId).getFiles();
if(files.hasNext()){
var file = files.next();
fileId = file.getId()
}
var date = new Date();
var formattedDate = Utilities.formatDate(date, "JST", "yyyyMMdd");
var file = DriveApp.getFileById(fileId);
var newFile = file.makeCopy(formattedDate);
return newFile;
}
function postMessage(message) {
var jsonData =
{
"username" : username,
"icon_emoji" : icon,
"text" : message
};
var payload = JSON.stringify(jsonData);
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : payload
};
UrlFetchApp.fetch(postUrl, options);
}
function createDocBot() {
var objDoc = copyTempleteFile();
var docFile = DriveApp.getFileById(objDoc.getId());
var targetFolder = DriveApp.getFolderById(targetFolderId);
targetFolder.addFile(docFile);
DriveApp.getRootFolder().removeFile(docFile);
var url = docFile.getUrl();
// slackへのメッセージ内容
var message = taskMsg + url+ schedule;
postMessage(message)
}
短いコードですが今回コードを書いてみてエンジニアの方の凄さがわかりました。
僕みたいなプログラミング初心者でも使えるように簡単にまとめみたので使ってみてください。