From a00cf82bc0e4424d1af92d129830b3ed99e3fbfd Mon Sep 17 00:00:00 2001 From: "Guichard, Kyle" Date: Tue, 15 Apr 2014 10:12:51 -0700 Subject: [PATCH 1/2] adding stash POST commit --- src/scripts/stash.coffee | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/scripts/stash.coffee diff --git a/src/scripts/stash.coffee b/src/scripts/stash.coffee new file mode 100644 index 000000000..2b1fc971b --- /dev/null +++ b/src/scripts/stash.coffee @@ -0,0 +1,39 @@ +# Description: +# Accepts Atlassian Stash post commit webhook POSTs and delivers to chat +# +# Dependencies: +# None +# +# Configurations: +# HUBOT_CAMPFIRE_ROOMS - set the room(s) you want the message to go to +# +# Commands: +# +# Notes: +# Instructions for configuring stash are here: https://confluence.atlassian.com/display/STASH/POST+service+webhook+for+Stash +# +# Author: +# Kyle Guichard (kgsharp) + +module.exports = (robot) -> + room = process.env.HUBOT_CAMPFIRE_ROOMS + + robot.router.post "/stash", (req, res) -> + jsonstring = JSON.stringify(req.body) + message = JSON.parse jsonstring + robot.logger.info "Received stash message: '#{jsonstring}' received" + + #set up response to campfire + unless room + robot.logger.error "Please set the HUBOT_CAMPFIRE_ROOMS variable to post the message" + return + user = robot.brain.userForId 'broadcast' + user.room = room + user.type = 'groupchat' + robot.send user, "Received stash post commit: \n + Repository: #{message.repository.project.name} (#{message.repository.project.description}) \n + Changes: \n#{i.link.url for i in message.changesets.values}" + + #respond to request + res.writeHead 200, {'Content-Type': 'text/plain'} + res.end 'Thanks' From 14c3ab652db6a5e4b1741d82b00bc64460e8d2b3 Mon Sep 17 00:00:00 2001 From: "Guichard, Kyle" Date: Tue, 15 Apr 2014 10:15:49 -0700 Subject: [PATCH 2/2] adding stash POST commit --- src/scripts/stash.coffee | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/scripts/stash.coffee b/src/scripts/stash.coffee index 2b1fc971b..4d76a0165 100644 --- a/src/scripts/stash.coffee +++ b/src/scripts/stash.coffee @@ -18,21 +18,22 @@ module.exports = (robot) -> room = process.env.HUBOT_CAMPFIRE_ROOMS - robot.router.post "/stash", (req, res) -> + robot.router.post '/stash', (req, res) -> jsonstring = JSON.stringify(req.body) message = JSON.parse jsonstring robot.logger.info "Received stash message: '#{jsonstring}' received" #set up response to campfire unless room - robot.logger.error "Please set the HUBOT_CAMPFIRE_ROOMS variable to post the message" + robot.logger.error 'Please set the HUBOT_CAMPFIRE_ROOMS variable to post the message' return user = robot.brain.userForId 'broadcast' user.room = room user.type = 'groupchat' robot.send user, "Received stash post commit: \n Repository: #{message.repository.project.name} (#{message.repository.project.description}) \n - Changes: \n#{i.link.url for i in message.changesets.values}" + Changes: \n + #{i.link.url for i in message.changesets.values}" #respond to request res.writeHead 200, {'Content-Type': 'text/plain'}