2018-02-14 12:37:49 +01:00
|
|
|
const Slack = require('./lib/slack')
|
2018-02-04 19:09:13 +01:00
|
|
|
|
|
|
|
module.exports = async (robot) => {
|
2018-01-22 14:48:57 +01:00
|
|
|
console.log('Yay, the app was loaded!')
|
2018-03-28 17:58:26 +02:00
|
|
|
if (process.env.DEBUG) {
|
|
|
|
// HACK: If we're attached to the debugger, send output to console
|
|
|
|
robot.log.error = console.log
|
|
|
|
robot.log.warn = console.log
|
|
|
|
robot.log.info = console.log
|
|
|
|
robot.log.debug = console.log
|
|
|
|
robot.log.trace = console.log
|
|
|
|
}
|
2018-01-22 14:48:57 +01:00
|
|
|
|
2018-02-16 21:35:49 +01:00
|
|
|
await setupSlack(robot)
|
2018-02-14 12:37:49 +01:00
|
|
|
|
2018-03-28 18:02:12 +02:00
|
|
|
robot['slackProfileCache'] = require('./lib/slack-profile-cache')(robot)
|
2018-02-04 19:09:13 +01:00
|
|
|
|
2018-02-05 15:33:43 +01:00
|
|
|
require('./bot_scripts/assign-new-pr-to-review')(robot)
|
|
|
|
require('./bot_scripts/assign-approved-pr-to-test')(robot)
|
|
|
|
require('./bot_scripts/assign-to-bounty-awaiting-for-approval')(robot)
|
2018-03-14 14:24:11 +01:00
|
|
|
require('./bot_scripts/assign-to-bounty-bug-column')(robot)
|
2018-02-05 15:33:43 +01:00
|
|
|
require('./bot_scripts/greet-new-contributor')(robot)
|
2018-02-07 17:59:55 +01:00
|
|
|
require('./bot_scripts/trigger-automation-test-build')(robot)
|
2018-02-15 00:57:46 +01:00
|
|
|
require('./bot_scripts/bounty-awaiting-approval-slack-ping')(robot)
|
|
|
|
require('./bot_scripts/notify-reviewers-via-slack')(robot)
|
2018-02-04 19:09:13 +01:00
|
|
|
|
2018-01-22 14:48:57 +01:00
|
|
|
// For more information on building apps:
|
|
|
|
// https://probot.github.io/docs/
|
|
|
|
|
|
|
|
// To get your app running against GitHub, see:
|
|
|
|
// https://probot.github.io/docs/development/
|
|
|
|
}
|
2018-02-16 21:35:49 +01:00
|
|
|
|
|
|
|
async function setupSlack (robot) {
|
2018-02-22 21:58:54 +01:00
|
|
|
Slack.setup(robot, slack => {})
|
2018-02-16 21:35:49 +01:00
|
|
|
|
|
|
|
await new Promise(resolve => {
|
|
|
|
robot.on('slack.connected', event => {
|
|
|
|
robot.log.info(`Connected to Slack`)
|
|
|
|
|
|
|
|
// Copy Slack RTM and Slack Web clients to the robot object
|
|
|
|
robot['slack'] = event.payload.slack
|
|
|
|
robot['slackWeb'] = event.payload.slackWeb
|
|
|
|
|
|
|
|
resolve()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|