Slack: Post Chat (Bots)
Send a message to Slack with Bots.
https://support.questetra.com/addons/slack-chat-post-bots/
2019-01-21 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/addons/slack-chat-post-bots/
2019-01-21 (C) Questetra, Inc. (MIT License)
Configs
- C1: Slack Bot Token *
- C2: Slack Channel ID *
- C3: Sending Text #{EL}
- C4: Attachment Summary (In notifications when no sending text) #{EL}
- C5: Attachment Color
- C6: Attachment Title #{EL}
- C7: Attachment Title Link #{EL}
- C8: Attachment Text #{EL}
Script
main();
function main() {
const token = configs.get("Token");
let jsonReq = {};
if (configs.get("Text") !== "" && configs.get("Text") !== null){
jsonReq["text"] = configs.get("Text");
}
let attachment = {};
attachAdd(attachment, "Fallback", "fallback");
attachAdd(attachment, "Color", "color");
attachAdd(attachment, "Title", "title");
if (configs.get("Title") !== "" && configs.get("Title") !== null){
attachAdd(attachment, "TitleLink", "title_link");
}
attachAdd(attachment, "AttachText", "text");
if (attachment !== {}){
jsonReq["attachments"] = [attachment];
}
if (attachment["title"] == null && attachment["text"] == null && jsonReq["text"] == null){
throw "Message to send isn't set.";
}
jsonReq["channel"] = configs.get("ChannelId");
let response = httpClient.begin()
.bearer(token)
.body(JSON.stringify(jsonReq), "application/json; charset=UTF-8")
.post("https://slack.com/api/chat.postMessage");
const status = response.getStatusCode();
const responseTxt = response.getResponseAsString();
const responseJson = JSON.parse(responseTxt);
if (responseJson.ok == false ) {
const error = "Failed to send \n" + responseTxt;
throw error;
}
engine.log("status:" + status);
engine.log(responseTxt);
}
function attachAdd(attachment, config, attachName){
const value = configs.get(config);
if (value !== "" && value !== null){
attachment[attachName] = value;
}
}
Download
Capture
