Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save klebercode/34c4dbdc27b3b858369ed38e6246d99a to your computer and use it in GitHub Desktop.
Save klebercode/34c4dbdc27b3b858369ed38e6246d99a to your computer and use it in GitHub Desktop.
RocketChat Incoming Webhook Scripts for Taiga project
/* exported Script */
/* globals console, _, s */
/** Global Helpers
*
* console - A normal console instance
* _ - An underscore instance
* s - An underscore string instance
*/
class Script {
/**
* @params {object} request
*/
process_incoming_request({ request }) {
// request.url.hash
// request.url.search
// request.url.query
// request.url.pathname
// request.url.path
// request.url_raw
// request.url_params
// request.headers
// request.user._id
// request.user.name
// request.user.username
// request.content_raw
// request.content
// console is a global helper to improve debug
let result = {
text: "",
}
switch (`${request.content.type}.${request.content.action}`) {
case 'milestone.create':
result.text = "";
break;
case 'milestone.delete':
result.text = "";
break;
case 'milestone.change':
result.text = "";
break;
case 'userstory.create':
result.text = `:new: US #${request.content.data.ref} - "${request.content.data.subject}": ${request.content.data.permalink}`;
break;
case 'userstory.delete':
result.text = "";
break;
case 'userstory.change':
result.text = "";
break;
case 'task.create':
result.text = "";
break;
case 'task.delete':
result.text = "";
break;
case 'task.change':
result.text = "";
break;
case 'issue.create':
result.text = `:new: Issue #${request.content.data.ref} - "${request.content.data.subject}": ${request.content.data.permalink}`;
break;
case 'issue.delete':
result.text = "";
break;
case 'issue.change':
result.text = "";
break;
case 'wikipage.create':
result.text = `:new: :blue_book: Wikipage - "${request.content.data.slug}": ${request.content.data.permalink}`;
break;
case 'wikipage.delete':
result.text = "";
break;
case 'wikipage.change':
result.text = "";
break;
case 'test.test':
result.text = ":white_check_mark: Success test";
break;
default:
result.text = "";
/**
* For Debug, Uncomment next line
*/
//result.text = JSON.stringify(request.content);
break;
}
if(result.text.trim() !== ""){
return {
content: result,
};
}
// return {
// error: {
// success: false,
// message: 'Error example'
// }
// };
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment