1

我正在尝试使用可用于IBM Cloud FunctionsOpenWhisk的 Slack 包。我创建了一个 Node.js 操作,它生成一个带有文本附件值的 JSON 对象。该对象以使用 Slack 包的 post 方法的顺序传递。消息本身在通过 Incoming Webhook 发布时显示,附件不显示。为什么?需要改变什么?

return {text : "regular message text", attachments: [
       { fallback: "my fallback message",
         title: "some nice title",
         mrkdwn_in: ["text"],
         text : "Simple text"}
        ]};

操作序列以这种方式创建,webhook 和用户名按照文档中的步骤绑定:

ibmcloud fn action update mySequence --sequence myAction,mySlack/post

我检查了post 操作的源代码,它对附件数组进行了字符串化。

4

1 回答 1

0

我最终自己为发布统计信息的 Cloud Functions 操作编写了它。

// now compose the payload and post it to Slack
 var payload= {
    text : resString,
    channel : channel,
    attachments: [
       {
         fallback: "Weekly top 25 repositories",
         title: "Top 25 repositories by unique views ("+workweek+")",
         mrkdwn_in: ["text"],
         text : dataString
        }
        ]
      };

 var options = {
  method: 'POST',
  uri: webhook,
  body: payload,
  resolveWithFullResponse: true,
  json: true // Automatically stringifies the body to JSON
};

// return response to the request, so the status will be logged
return rp(options).then(function(response) {
  return response;
});

直截了当,几周以来一直运作良好。

于 2018-12-13T16:56:25.910 回答