VickPR Bot is a Semi-Automated Slack app designed to streamline pull request management within our development team.
VickPR Bot is built using the following tools and technologies:
- NodeJS and NestJS
- MongoDB
- Slack API
- Slack Block kit
$ git clone [repo-link] vickpr-bot# copy config file
$ cp .env.example .env$ npm install# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov-
Installation: Install the VickPR Bot Slack app from the Slack App Directory.
-
Configuration: Configure the app settings, including Slack OAuth tokens.
-
Usage: Use Slack slash commands to submit PR details and schedule reminders.
- Set
ENABLE_WEEKLY_REPORT=1to activate the automated Thursday 3:00 PM report. Omit or set to0to disable. - Define
WEEKLY_REPORT_PROJECT_GROUPSto map projects to the report groups. Example:frontend:User Web App|Landing page;mobile:Mobile App;backend:API Repo. - The bot posts a parent message with weekly totals followed by threaded updates for Frontend, Mobile, and Backend projects, or as configured.
- Implement Slack slash commands for PR submission.
- Set up automated reminders for reviewers.
- Enhance Slack interaction with interactive messages for PR details submission.
- Add Edit PR submission feature
- Add support for Nudging the reviewers of a pending PR
- Add support for customizing reminder intervals.
- Introduce advanced analytics and reporting features for PR performance tracking.
VickPR Bot welcomes contributions from the community. Here's how you can contribute:
-
Fork the Repository: Fork the VickPR Bot repository on GitHub.
-
Implement Features or Fixes: Work on new features or bug fixes in your fork.
-
Submit Pull Requests: Submit pull requests from your fork to the main repository for review.
-
Follow Coding Standards: Adhere to coding standards and guidelines used in the project.
-
Testing: Ensure your changes are properly tested and include relevant documentation updates.
For support or feedback, reach out to the project maintainers or open an issue on GitHub.