Name
sn_slack_ah.SlackUtils
Description
No description available
Script
var SlackUtils = Class.create();
SlackUtils.prototype = {
initialize: function() {
},
htmlEscape : function(str) {
return str
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>');
},
createPayload : function(inputs, defaultFields) {
var payload = {};
payload.text = this.htmlEscape(inputs.message);
if (!gs.nil(inputs.channel.trim()))
payload.channel = inputs.channel.trim();
if (!gs.nil(inputs.icon.trim()))
payload.icon_emoji = inputs.icon.trim();
if(!gs.nil(inputs.username.trim()))
payload.username = inputs.username.trim();
payload.attachments = [];
var fields = [];
var fieldsToSend = defaultFields.split(',');
var _this = this;
fieldsToSend.forEach(function (fieldName) {
fieldName = fieldName.trim();
var fieldValue = inputs.record.getDisplayValue(fieldName) || '';
var isShort = (fieldValue.length > 30 || fieldName == 'short_description') ? false : true;
if (!gs.nil(fieldValue)){
fieldValue = _this.htmlEscape(fieldValue);
fields.push({
title:inputs.record[fieldName].getLabel(),
value:fieldValue,
short:isShort
});
}
});
var incidentNumber = inputs.record.getDisplayValue('number');
var recordLink = inputs.record.getLink();
var incidentLink = gs.getProperty('glide.servlet.uri') + recordLink;
var incidentUrl = '<' + incidentLink + '|' + incidentNumber + '>';
payload.attachments.push({
text: incidentUrl,
fallback: inputs.message,
fields: fields
});
return payload;
},
type: 'SlackUtils'
};
Sys ID
4743ae0b3ba0030057a4a2e334efc4ea