【问题标题】:Post message to Slack when task is marked as completed in Google Sheets在 Google 表格中将任务标记为已完成时向 Slack 发布消息
【发布时间】:2018-01-28 16:29:03
【问题描述】:

我创建了一个机器人,只要在特定的 Slack 频道中发布消息,它就会自动更新 Google 表格。

现在我想在电子表格中将任务标记为已完成时向 Slack 发送一条消息。

我想在特定列中运行一个循环来检查每次编辑是否该列中任何单元格的值已更改为“已完成”并将该行中的文本发送到 Slack。

我无法解决的问题是如何检查特定消息过去是否被标记为“已完成”并且不将该消息发送到 slack。

有什么建议吗?

    var SLACK_WEBHOOK_URL= "";

function pushToSlack() {
  var ss    = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Sheet1");
  var data  = sheet.getDataRange().getValues();
  data.splice(parseInt(0), 1);  // remove the first header row
  for (var i in data) {
    var indicator = data[i][1];
    var update  = data[i][2];
    var ongoing    = data[i][6];
    if (!ongoing) { continue; } 
    sendToSlack(indicator,update,ongoing);
  }
}

function sendToSlack(indicator,update,ongoing) {

  var payload = {
    "text" : ":update_" + indicator + ": ISSUE RESOLVED:" + update 
  };
  var options =  {
    "method" : "post",
    "contentType" : "application/json",
    "payload" : JSON.stringify(payload)
  };
  // push to slack channel 
  return UrlFetchApp.fetch(SLACK_WEBHOOK_URL, options);
}

【问题讨论】:

    标签: google-sheets google-sheets-api slack slack-api


    【解决方案1】:

    您需要对哪些已完成的消息已发送回 Slack 进行某种簿记。解决此问题的一种方法是使用 google 表格中的隐藏(和受保护)列来标记已发送的消息。

    【讨论】:

      猜你喜欢
      • 2014-07-19
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      相关资源
      最近更新 更多