Slack: Post Chat (Incoming Webhook)
Sends a message to Slack using an Incoming Webhook.
Configs: Common
  • Step Name
  • Note
Configs
  • C1: Incoming Webhook URL *
  • C2: Sending Text#{EL}
  • C3: Attachment Summary (In notifications when no sending text)#{EL}
  • C4: Attachment Color
  • C5: Attachment Title#{EL}
  • C6: Attachment Title Link#{EL}
  • C7: Attachment Text#{EL}
Script (click to open)

main();
function main() {
  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.";
  }
  const url = configs.get("Url");
  
  let response = httpClient.begin()
    .body(JSON.stringify(jsonReq), "application/json; charset=UTF-8")
    .post(url);

  const status = response.getStatusCode();
  const responseTxt = response.getResponseAsString();
  if (status !== 200) {
    engine.log(`${responseTxt}`);
    throw `Failed to send. status: ${status}`;
    throw error;
  }
}
function attachAdd(attachment, config, attachName){
  const value = configs.get(config);
  if (value !== "" && value !== null){
    attachment[attachName] = value;
  }
}

Capture

See also

Appendix

  • slack-chat-post-webhook.xml (C) Questetra, Inc. (MIT License)
    • If you are using Professional, you can modify the contents of this file and use it as your own add-on

1 thought on “Slack: Post Chat (Incoming Webhook)”

  1. Pingback: Posting Message to Slack – Questetra Support

Comments are closed.

%d bloggers like this: