Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@Yamotty
Last active December 7, 2016 03:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yamotty/e5c773b3158d3780ada8 to your computer and use it in GitHub Desktop.
Save Yamotty/e5c773b3158d3780ada8 to your computer and use it in GitHub Desktop.
spreadsheetで管理する日次KPIをSlackに自動投稿する ref: http://qiita.com/Yamotty/items/bb2f002ba843386ce6f5
// 定義文
var slack = {
postUrl: 'https://slack.com/api/chat.postMessage',
token: '(A)', // Slackのtoken
groupId: "(B)", // Slack MarketingグループのID
userName: "(C)", // botの名前
}
// 前日のKPIを取得し、SlackのMarketingグループへ送る
function getTodayColumnPostSlack() {
// 前日の日付をyyyy/MM/ddで取得する
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("(D)");
var yesterday = new Date(new Date().getTime()-1000*60*60*24);
var formattedDate = Utilities.formatDate(yesterday, "JST", "yyyy/MM/dd");
// 前日日付のカラムの座標を指定する
var startDate = new Date("2015/01/01");
var msDiff = yesterday.getTime() - startDate.getTime();
var column = Math.floor(msDiff / (1000*60*60*24)) + 3;
var cell;
// KPIの値を取得する
while(true) {
cell = sheet.getRange(2, column);
if (Utilities.formatDate(yesterday, "JST", "yyyy/MM/dd") == formattedDate) {
Logger.log("Findout");
var orderNum = sheet.getRange(7, column).getValue().toFixed(0);
var orderUnitPrice = sheet.getRange(15, column).getValue().toFixed(0);
var signupNum = sheet.getRange(20, column).getValue().toFixed(0);
var CPA = sheet.getRange(46, column).getValue().toFixed(0);
var CPO = sheet.getRange(47, column).getValue().toFixed(0);
var CVR = sheet.getRange(48, column).getValue().toFixed(4)*100;
// Slackへ送る
var slackApp = SlackApp.create(slack["token"]);
var Slackpost = slackApp.postMessage(slack["groupId"],"```" + "\n" + "昨日のMarketing Quick Report" + "\n" + "オーダー件数:" + orderNum + "\n" + "オーダー単価:" + orderUnitPrice + "\n" + "会員登録数:" + signupNum + "\n" + "CPA:" + CPA + "\n" + "CPO:" + CPO + "\n" + "CVR:" + CVR + "%" + "\n" + "```", {username : slack["userName"]});
return column;
} else {
}
column += 1;
}
}
// 定義文
var slack = {
postUrl: 'https://slack.com/api/chat.postMessage',
token: '(A)', // Slackのtoken
groupId: "(B)", // Slack MarketingグループのID
userName: "(C)", // botの名前
}
// 前日の日付をyyyy/MM/ddで取得する
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("(D)");
var yesterday = new Date(new Date().getTime()-1000*60*60*24);
var formattedDate = Utilities.formatDate(yesterday, "JST", "yyyy/MM/dd");
// 前日日付のカラムの座標を指定する
var startDate = new Date("2015/01/01");
var msDiff = yesterday.getTime() - startDate.getTime();
var column = Math.floor(msDiff / (1000*60*60*24)) + 3;
// KPIの値を取得する
while(true) {
cell = sheet.getRange(2, column);
if (Utilities.formatDate(yesterday, "JST", "yyyy/MM/dd") == formattedDate) {
var orderNum = sheet.getRange(7, column).getValue().toFixed(0);
var orderUnitPrice = sheet.getRange(15, column).getValue().toFixed(0);
var signupNum = sheet.getRange(20, column).getValue().toFixed(0);
var CPA = sheet.getRange(46, column).getValue().toFixed(0);
var CPO = sheet.getRange(47, column).getValue().toFixed(0);
var CVR = sheet.getRange(48, column).getValue().toFixed(4)*100;
// Slackへ送る
var slackApp = SlackApp.create(slack["token"]);
var Slackpost = slackApp.postMessage(slack["groupId"],"```" + "\n" + "昨日のMarketing Quick Report" + "\n" + "オーダー件数:" + orderNum + "\n" + "オーダー単価:" + orderUnitPrice + "\n" + "会員登録数:" + signupNum + "\n" + "CPA:" + CPA + "\n" + "CPO:" + CPO + "\n" + "CVR:" + CVR + "%" + "\n" + "```", {username : slack["userName"]});
return column;
} else {
}
column += 1;
}
}
// Slackへ送る
var slackApp = SlackApp.create(slack["token"]);
var Slackpost = slackApp.postMessage(slack["groupId"],"```" + "\n" + "昨日のMarketing Quick Report" + "\n" + "オーダー件数:" + orderNum + "\n" + "オーダー単価:" + orderUnitPrice + "\n" + "会員登録数:" + signupNum + "\n" + "CPA:" + CPA + "\n" + "CPO:" + CPO + "\n" + "CVR:" + CVR + "%" + "\n" + "```", {username : slack["userName"]});
return column;
} else {
}
column += 1;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment