스프레드시트의 날짜 열이 오늘이면 필요한 열 정보를 집어 Slack으로 보내기
11534 단어 슬랙WebhookGoogleSpreadSheetmoment.js
(날짜는 순서대로 줄지어 있지 않아도 된다. 도중에 공란이 있어도 괜찮다.)
도구 -> 스크립트 편집기를 열고 스크립트 파일을 등록합니다.
스크립트 파일 copipe용("//편집"은 각각의 환경에서 편집이 필요)
function checkCell() {
// スプレッドシートを指定(URLからコピペする)
var spreadsheet = SpreadsheetApp.openById('xxxxxxxxxxxxx') //編集
//シートの名前を指定する
var sheet = spreadsheet.getSheetByName('管理表1'); //編集
//今日の日時を取得する
var today = new Date()
//console.log(today); //Sat Jun 20 2020 01:14:58 GMT+0900 (日本標準時)
var string = "";
//必要な列のデータを配列で取得していく。getValues()を使って配列でvaluesXに入れる。
//日付の列を取得する。
var rangeA = sheet.getRange("A:A");
var valuesA = rangeA.getValues();
//項目1の列
var rangeB = sheet.getRange("B:B");
var valuesB = rangeB.getValues();
//項目3の列
var rangeD = sheet.getRange("D:D");
var valuesD = rangeD.getValues();
//valuesA[1][0]やvaluesA[2][0]にデータが入っているのでforをネストさせている
for (var i = 0; i < valuesA.length; i++) {
var date = "";
for (var j = 0; j < valuesA[i].length; j++) {
date = valuesA[i][j];
//MomentjsのisSameで日付が同じかどうか(今日かどうか)を判定。日付が今日ならstringに代入する。
if ( Moment.moment(today).isSame(date,'day')) {
string = string + ('\n') + " 項目1は " + valuesB[i][j] + "です。" + " 項目3は " + valuesD[i][j] + "です。"; //編集
}
}
}
//stringが空だったら何もしないで終わる。
if ( !string ) {
return ;
}
//stringに何か入っていたらSlackに送信する関数を実行する。
sendSlackMessage(string);
}
// Slackへ送信するfunction
function sendSlackMessage(message) {
var postUrl = 'https://hooks.slack.com/services/xxx/xxx/xxxxxxxx' //編集
var jsonData =
{
"text" : "*今日の予定*" + message //編集
};
var payload = JSON.stringify(jsonData);
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : payload
};
UrlFetchApp.fetch(postUrl, options);
}
SpreadsheetApp.openById에 넣은 ID는 URL의 가면 부분입니다.
날짜 처리를 다루는 라이브러리 Moment.js를 사용했으므로 설치합니다. 여기를 참고했습니다.
htps : //가 되어-t. 이 m /가 s-momen tjs-momen t /
리소스 -> 라이브러리
스크립트 ID: MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48
설치가 완료되면 수동으로 실행해 봅니다(checkCell을 선택하고 ▶를 클릭). 처음에는 권한의 허가가 필요하기 때문에 허가한다.
Slack에 이런 식으로 보내져 왔기 때문에 우선 OK로 합니다.
[시간 주도형]으로 태스크에 등록해 두면 정기적으로 통지도 할 수 있다.
Reference
이 문제에 관하여(스프레드시트의 날짜 열이 오늘이면 필요한 열 정보를 집어 Slack으로 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fabula/items/37b76241669f03f78221텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)