報告者を指定日時で通知するスクリプト<Slackユーザー向け / コード付き>
N番煎じ?
月末に部門定例会があるので、公平にみんなの中から報告者を決めることにしました💁♀️
GoogleAppScript
var postUrl = 'https://hooks.slack.com/services/HOGE/HOGEHOGE/HOGEHOGEHOGE'; …①
var icon = ':hatching_chick:';
var index = 0;
var checked_engeneer = '';
var icon_url = 'https://hogehoge-team.slack.com/team/HOGEHOGE'
var engeneer_ids = ['<@hoge1_slackId>', '<@hoge2_slackId>', '<@hoge3_slackId>', '<@hoge4_slackId>', '<@hoge5_slackId>'] …②
function shuffleReporter() {
index = Math.floor(Math.random()*6)var id = engeneer_ids[index]
var jsonData =
{
"username" : '悪意のないchick',
"channel" : "#development",
"icon_emoji" : icon,
"text" : '今月の開発部門報告者は' + id + 'さんだよー\n開発のみんなの1ヶ月のタスクと、最近自分ががんばったことを話してね!',
"icon_url" : icon_url
};var payload = JSON.stringify(jsonData);
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : payload,
};UrlFetchApp.fetch(postUrl, options);
}
①… SlackのwebhookAppをオンにして、出力URLを取得しましょう。
②… メンション用の個人タグです。付けないとメンション飛びません。個人の詳細ページからmemberIdとして取得できます。
悪意のないひよこが教えてくれます。(これはKotlin因み…🐤)
Cronもあるらしいけど、今回は手動で時間設定。
時間主導型の設定フローは下記画像を参考にしてください。
カレンダーのイベント抜いて設定したら、また更新します。