Fix repeated review Slack notifications
This commit is contained in:
parent
837c7a27eb
commit
da5667090c
|
@ -23,29 +23,27 @@ function registerForNewReviewRequests (robot, getSlackIdFromGitHubId) {
|
||||||
// Make sure we don't listen to our own messages
|
// Make sure we don't listen to our own messages
|
||||||
if (context.isBot) return null
|
if (context.isBot) return null
|
||||||
|
|
||||||
await notifyReviewers(context, robot, getSlackIdFromGitHubId)
|
await notifyReviewer(context, robot, getSlackIdFromGitHubId)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async function notifyReviewers (context, robot, getSlackIdFromGitHubId) {
|
async function notifyReviewer (context, robot, getSlackIdFromGitHubId) {
|
||||||
const { payload } = context
|
const { payload } = context
|
||||||
|
const reviewer = payload.requested_reviewer
|
||||||
|
const userID = getSlackIdFromGitHubId(reviewer.login)
|
||||||
|
|
||||||
for (let reviewer of payload.pull_request.requested_reviewers) {
|
if (!userID) {
|
||||||
const userID = getSlackIdFromGitHubId(reviewer.login)
|
robot.log.warn('Could not find Slack ID for GitHub user', reviewer.login)
|
||||||
|
return
|
||||||
if (!userID) {
|
|
||||||
robot.log.warn('Could not find Slack ID for GitHub user', reviewer.login)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
slackWeb.im.open(userID).then(resp => {
|
|
||||||
const dmChannelID = resp.channel.id
|
|
||||||
const msg = `New Pull Request awaiting your review: ${payload.pull_request.html_url}`
|
|
||||||
|
|
||||||
robot.log.info(`${botName} - Opened DM Channel ${dmChannelID}`)
|
|
||||||
robot.log.info(`Notifying ${userID} about review request in ${payload.pull_request.url}`)
|
|
||||||
|
|
||||||
slackWeb.chat.postMessage(dmChannelID, msg, {unfurl_links: true, as_user: slackHelper.BotUserName})
|
|
||||||
}).catch(error => robot.log.error('Could not open DM channel for review request notification', error))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
slackWeb.im.open(userID).then(resp => {
|
||||||
|
const dmChannelID = resp.channel.id
|
||||||
|
const msg = `New Pull Request awaiting your review: ${payload.pull_request.html_url}`
|
||||||
|
|
||||||
|
robot.log.info(`${botName} - Opened DM Channel ${dmChannelID}`)
|
||||||
|
robot.log.info(`Notifying ${userID} about review request in ${payload.pull_request.url}`)
|
||||||
|
|
||||||
|
slackWeb.chat.postMessage(dmChannelID, msg, {unfurl_links: true, as_user: slackHelper.BotUserName})
|
||||||
|
}).catch(error => robot.log.error('Could not open DM channel for review request notification', error))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue