スプレッドシートの特定セルを参照し、Slackにメンションする方法
解決したいこと
初心者のため、初歩の初歩な質問で大変恐縮です。
スプレッドシート内の表のステータスが更新された際、
指定されたSlackチャンネルの、更新された行の担当者宛にメンションが行くように設定をしたいのですが、
『担当者宛にメンション』に苦戦しております。
用途はタスク依頼シートでして、作業者がステータスを変更するたびに担当者が知ることの出来る仕組みがほしいです。
担当者の名前列の横に、各担当者のSlack IDを記載しております。
変更があった行のSlack ID列を参照し、メンションする方法を教えていただけますと幸いです。
GASを理解しておらず、色々とググってみたのですが微妙に状況が違うと混乱してしまい解決できずにおります。
スプレッドシートのD列に担当者名、E列に担当者のSlack ID(vlookup)、F列にステータス選択があります。
拙い内容で申し訳ございません。
お力添えをいただけますと幸いです。
現在のソースコード
メンションなしで、指定チャンネルに通知までは問題なく動いております。
function myFunction2() {
var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // スプレッドシート
var activeSheet = activeSpreadsheet.getActiveSheet(); // アクティブシート
if(activeSheet.getName() != "依頼シート"){
return;
}
var activeCell = activeSheet.getActiveCell(); // アクティブセル
if(activeCell.getColumn() == 6 && activeCell.getValues() == "2:作業完了"){
var newInputRow = activeCell.getRow();
var taskNo = activeSheet.getRange(activeCell.getRow(), 1).getValues();
// 送信するSlackのテキスト
var slackText = "〇〇が「依頼シート」の No." + taskNo + " のタスクを完了しました\n" +
"https://docs.google.com/spreadsheets/d/1xxxxxxxxxxxxxxxxxxxxx/edit#gid=0&range=C" + newInputRow;
sendSlack(slackText);
}
}
function sendSlack2(slackText){
// Step1で取得したWebhook URLを設定
var webHookUrl = "https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxx";
var jsonData =
{
"channel": "hogehoge", // 通知したいチャンネル
'icon_url' : "https://xxxxxxxxxxxxxxxxxxxxx",
"text" : slackText,
"link_names" : 1,
"username" : "hogehoge"
};
var payload = JSON.stringify(jsonData);
var options =
{
"method" : "post",
"contentType" : "application/json",
"payload" : payload,
};
// リクエスト
UrlFetchApp.fetch(webHookUrl, options);
}
0