mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2025-05-10 04:41:08 -04:00
create announce.js to announce deploys to slack
This commit is contained in:
parent
cafa592789
commit
9a498d6b79
2 changed files with 48 additions and 1 deletions
bin
46
bin/announce.js
Normal file
46
bin/announce.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
// this will announce that a deploy successfully finished into slack
|
||||
|
||||
const https = require('https');
|
||||
|
||||
let environment = process.env.SCRATCH_ENV || 'unknown environment';
|
||||
|
||||
let branch = process.env.CIRCLE_BRANCH || 'unknown branch';
|
||||
|
||||
let urlEng = process.env.SLACK_WEBHOOK_ENGINEERING;
|
||||
let urlMod = process.env.SLACK_WEBHOOK_MODS;
|
||||
let urlNotifications = process.env.SLACK_WEBHOOK_CIRCLECI_NOTIFICATIONS;
|
||||
|
||||
let announcement = {text: `scratch-www has deployed branch ${branch} to ${environment}.`};
|
||||
|
||||
const options = {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
};
|
||||
|
||||
const postMessage = (url, message, channelName) => {
|
||||
let data = JSON.stringify(message);
|
||||
const req = https.request(url, options, res => {
|
||||
console.log(`statusCode: ${res.statusCode}`); // eslint-disable-line no-console
|
||||
if (res.statusCode === 200) {
|
||||
process.stdout.write(`announced to ${channelName}\n` + JSON.stringify(message) + '\n');
|
||||
} else {
|
||||
process.stdout.write(`FAILED to announce to slack`);
|
||||
}
|
||||
});
|
||||
|
||||
req.on('error', error => {
|
||||
console.error(error); // eslint-disable-line no-console
|
||||
});
|
||||
|
||||
req.write(data);
|
||||
req.end();
|
||||
};
|
||||
|
||||
postMessage(urlNotifications, announcement, '#circleci-notifications');
|
||||
|
||||
if (environment === 'production'){
|
||||
postMessage(urlEng, announcement, '#engineering');
|
||||
postMessage(urlMod, announcement, '#scratch-mods');
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue