Skip to content

Instantly share code, notes, and snippets.

@flubstep
Last active June 20, 2016 17:31
Show Gist options
  • Save flubstep/c223b5ed424a42213cfd to your computer and use it in GitHub Desktop.
Save flubstep/c223b5ed424a42213cfd to your computer and use it in GitHub Desktop.
module['exports'] = function echoHttp (hook) {
var request = require('request');
var ref = hook.params.ref;
if (ref == "refs/heads/master" || ref == "refs/heads/release") {
var head = hook.params.head_commit;
var mergeRegex = /^Merge pull request/;
if (head.message && !mergeRegex.exec(head.message)) {
console.log("Pinging #engineering on commit: " + head.message);
var title = head.message;
var committer = head.committer.username;
var url = head.url;
var slackMessage = (
"*Direct push made to " + ref + " by " + committer + ": '" + title + "'.*\n" +
"<!here>: Please verify this commit or confirm that you are watching the release: " + head.url
);
var slackUsername = "Codebot";
var message = {
username: "Codebot",
text: slackMessage,
channel: "#engineering"
};
if (hook.params.channel) {
message.channel = hook.params.channel;
}
var options = {
method: 'POST',
body: message,
json: true,
url: hook.env['slack-codebot-hook']
};
request.post(options, function(err, res, body){
if (err) {
console.log(err.message);
return hook.res.end(err.messsage);
}
console.log("#" + number + " Successfully posted to slack");
hook.res.end(body);
});
}
} else {
console.log("Ignoring push event from non-master/release.");
return hook.res.end();
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment