-
To have a centralized PR board, where it's easy to see at a glance which PR's are open and which have been closed
-
To have PRs posted automatically, so engineers have less to keep track of conscientiously
-
A Node.js server which receives a notification when a PR was opened/closed and updates the PR board accordingly
-
When a PR is opened, it will be coded as red on the board; once the PR is closed, it will be updated to green on the board
-
Each PR has exactly one record on the board
-
The server-side code was built in Node.js, using Express, Request and Body-Parser
-
The code is hosted via Zeit now (Slack authentication token is deployed and obscured as an environment variable)
-
GitHub PR data is sent to the server via Webhooks managed by GitHub. These can be configured in each repo's settings. Currently, to be compatible with this project, they only send JSON data about PR's
-
When it receives Webhook data as a POST from GitHub, the server POSTS to Slack via the Slack API to create a message (for a new open PR) or update a message (for a closed PR)
-
Currently, the authentication and the channel name are hardcoded, meaning this isn't scalable to other teams/channels
-
Each GitHub repo's Webhook needs to be set manually, and needs to be updated manually if the Node app is redeployed. This is a pain, and also not scalable
-
Currently, Webhooks are only configured for Microservices, and not for the Chapstick monolith. This is because
- I don't have access to the repo settings on the Enterprise GitHub
- For this purpose, I'd only want PR info related to Meetup Pro, and I don't know how to filter for that
Perhaps this app will make it easier for Pro team to keep track of which PR's need review, meaning the PR review process will be faster and easier!